Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.164 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: XML: XPath-Ausdruck gesucht

  Alt 7. Dez 2019, 12:53
Hallo Frühlingsrolle,

Danke für deine Antwort.
Heute Morgen war es wohl schon etwas zu spät...
Nun habe ich das Problem direkt erkannt und lösen können.

Hier der XPath-Ausdruck (auszugsweise und ohne Fehlerbehandlung und Prüfungen):

Code:
{ -------------------------------------------------------------------- }
// Beginn Hierarchie 1
{ -------------------------------------------------------------------- }
lbb_Bild: TBlobByteData;
x_queryNode := frm_Main.my_XMLDocument.DocumentElement;
x_NodeList_Hierarchie_1 := x_queryNode.SelectNodes('// Award/BoQ/BoQBody/BoQCtgy');
IF x_NodeList_Hierarchie_1.Count > 0 THEN
BEGIN
  FOR i := 0 TO Pred(x_NodeList_Hierarchie_1.Count) DO
  BEGIN
    // ....

    // Bilder
    BEGIN
      ls_Knoten_Bilder := '//Award/BoQ/BoQBody/BoQCtgy' + '[' + IntToStr(i + 1) + ']' + '/BoQBody/Remark/Description/CompleteText/DetailTxt/Text/p/image'; { <== entscheidend ist,
        dass i aus der Haupt-Nodelist beim XPath-Ausdruck für die Bilder hinter dem selben Knoten stehen muss wie der Knoten aus der Haupt-Nodelist! }
      x_NodeList_Bilder := x_queryNode.SelectNodes(ls_Knoten_Bilder);
      FOR j := 0 TO Pred(x_NodeList_Bilder.Count) DO
      BEGIN
        lbb_Bild := NIL;
        lbb_Bild := Bild_nativ_erzeugen_aus_Base64_codierten_Daten(x_NodeList_Bilder.Nodes[j].Text); { function }
        // ...
      END;
    END;
  END; // Ende Durchlauf Nodelist Bilder
END; // Ende Durchlauf Nodelist Hirerarchie_1
Somit ist das Problem gelöst.

Allen noch ein schönes Wochenende!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat