Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   XML Node auslesen (https://www.delphipraxis.net/166973-xml-node-auslesen.html)

t0mmy 8. Mär 2012 05:57

XML Node auslesen
 
Hallo!

Also ich habe eine Variable String in der möchte ich aus einer XML was herrauslesen:

Jedoch bleibt die folgende Variable leer :(
Delphi-Quellcode:
Adresse := Form_Main.XMLDocument_XML.DocumentElement.ChildNodes['Order'].ChildNodes['Head'].ChildNodes['ADRESS1'].Text;

Bummi 8. Mär 2012 06:06

AW: XML Node auslesen
 
Ei verbibbsch

t0mmy 8. Mär 2012 06:52

AW: XML Node auslesen
 
hmm ??

sx2008 8. Mär 2012 07:04

AW: XML Node auslesen
 
1.) Ohne die XML-Datei lässt sich nicht beurteilen wo das Problem ist
2.) XML ist case-sensitive; also wenn auch nur ein Zeichen falsch ist geht's nicht.
3.) Warum verwendest du keinen XPath-Ausdruck wie z.B. '/Order/Head/ADRESS1' ?

t0mmy 8. Mär 2012 07:14

AW: XML Node auslesen
 
Danke sx2008, du hast recht gehabt ich hab mich verschrieben.

Zum dritten Punkt: XPath, ich hab mich damit schon mal beschäftigt, aber wie würde das mit dem TXMLDocument gehn, bzw. welchen befehl brauch ich damit ich mit / in die einzelnen Attributen Selektieren könnte.

sx2008 8. Mär 2012 07:28

AW: XML Node auslesen
 
Wenn TXMLDocument sich nach dem DOM-Standard verhält müsste die Funktion selectNodes() bzw. selectSingleNode() heisen.
XPath-Syntax
http://www.linkwerk.com/pub/xmlidp/2000/kap-xpath.html

t0mmy 8. Mär 2012 07:42

AW: XML Node auslesen
 
Okay Danke..
Jetzt hab ich noch ein Problem und zwar wie bekomme ich die Wert eines Attributes?

Code:
<Order No="2058011240" DispDate="09.01.2012" Basket="11240">
Delphi-Quellcode:
XMLDocument_XML.DocumentElement.ChildNodes['Order'].???

himitsu 8. Mär 2012 09:17

AW: XML Node auslesen
 
Da gibt es bestimmt ein Property, welche sowas wie "Attribute" im Namen besitzt. :stupid:

t0mmy 8. Mär 2012 10:21

AW: XML Node auslesen
 
Danke für den Tipp

Ich habs wie folgt gelöst:

Delphi-Quellcode:
StringVariable := XMLDocument_XML.DocumentElement.ChildNodes['Order'].AttributeNodes['DispDate'].Text;


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz