![]() |
Re: Problem mit Funktion - Knoten suchen in XML
Hallo,
im Moment lese ich es ja nicht nur aus, sondern baue es auf. Ich vermute, dass da irgendwo der Fehler liegt. Im Prinzip soll es so funktionieren: Knoten erstellen, falls Unterknoten mit Text "xyz" existiert weiter, wenn nicht Unterknoten erzeugen. Viele Grüße ... |
Re: Problem mit Funktion - Knoten suchen in XML
Hallo Stefan,
Textknoten mit einem bestimmten Inhalt kannst du so suchen:
Delphi-Quellcode:
Freundliche Grüße
var
i: Integer; nl: IDOMNodeList; begin with XMLDocument.DOMDocument as IDOMNodeSelect do nl := selectNodes('//*[text() = "SuchText"]'); for i := 0 to Pred(nl.length) do with nl[i] as IDOMNodeEx do ShowMessage(XML); end; |
Re: Problem mit Funktion - Knoten suchen in XML
Hallo,
danke für eure Antworten. Habe jetzt die Lösung für mich gefunden:
Delphi-Quellcode:
@Marabu
function searchNodes(nx : IXMLNode; match : widestring) : boolean;
var x : integer; begin result := false; for x := 0 to nx.ChildNodes.Count - 1 do begin if (nx.ChildNodes[x].IsTextElement) and (nx.ChildNodes[x].NodeValue = match) then result := true; end; end; ich nehme an deine Lösung verwendet xpath und ist somit noch schneller? Muss ich mir nochmal genauer ansehen! Viele Grüße ... |
Re: Problem mit Funktion - Knoten suchen in XML
Wenn Du nach der Result-Zuweisung noch mit break aus der Schleife springst, ist Deine Variante vermutlich auch schneller. Willst Du break vermeiden, musst Du eine andere Schleife verwenden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz