XML-Parser System.XML
Posted: Fri Dec 31, 2021 12:25 pm
Moin,
ich bin gerade am Verzweifeln: Ich muss ein Im-/Export von Daten in einem vorgegeben XML-Format schreiben und dachte, ich nutze dafür die System.XML Lib.
Im ersten Schritt wollte ich erst mal den Importer schreiben und dachte, dass kann ja nicht so schwer werden. Doch leider scheitere ich schon sehr früh:
Um zu prüfen, ob die Datei das gewünschte Datenformat habe, muss ich mir einen bestimmten Knoten im XML-Baum ansehen.
Laut XML-Spy funktioniert bei meiner Beispieldatei der XPath-Ausdruck "GAEB/Award/DP" Der Debugger von XML-Spy liefert mir dann den korrekten Knoten und dessen Value.
Laden tue ich die XML-Datei über folgendem Code:
oMXML ist dabei vom Typ XMLDocument.
Das Suchen nach dem Knoten sieht wie folgt aus:
Obwohl ich im Debugger beim oMXML plausiblen Inhalt sehe, geht das Selektieren des Knoten schief und ich bekomme immer NULL zurück.
Wer kann mich mal auf den richtigen Weg schubsen?
Guten Rutsch und ein erfolgreiches Jahr 2022 für alle!
Gruß
Jörg
ich bin gerade am Verzweifeln: Ich muss ein Im-/Export von Daten in einem vorgegeben XML-Format schreiben und dachte, ich nutze dafür die System.XML Lib.
Im ersten Schritt wollte ich erst mal den Importer schreiben und dachte, dass kann ja nicht so schwer werden. Doch leider scheitere ich schon sehr früh:
Um zu prüfen, ob die Datei das gewünschte Datenformat habe, muss ich mir einen bestimmten Knoten im XML-Baum ansehen.
Laut XML-Spy funktioniert bei meiner Beispieldatei der XPath-Ausdruck "GAEB/Award/DP" Der Debugger von XML-Spy liefert mir dann den korrekten Knoten und dessen Value.
Laden tue ich die XML-Datei über folgendem Code:
Code: Select all
settings := XmlReaderSettings{}
settings:IgnoreWhitespace := TRUE
settings:ASYNC := FALSE
xr := XmlReader.Create(cFile, settings)
oMXML:Load( xr )
Das Suchen nach dem Knoten sieht wie folgt aus:
Code: Select all
oNode := oMXML:selectSingleNode( "GAEB/Award/DP" )
IF oNode != NULL_OBJECT
cVal := oNode:Value
END IF
Wer kann mich mal auf den richtigen Weg schubsen?
Guten Rutsch und ein erfolgreiches Jahr 2022 für alle!
Gruß
Jörg