Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi XML mit mehreren Strings auslesen? (https://www.delphipraxis.net/147650-xml-mit-mehreren-strings-auslesen.html)

DaveRidge 13. Feb 2010 08:26


XML mit mehreren Strings auslesen?
 
Hallo, ich hab eine kleine Frage.
Die XML Datei sieht ungefähr so aus:

Zitat:

<array>
<dict>
<key>0001</key>
<string>0002</string>
<key>zeit</key>
<date>2010-02-02 - 12:56:37</date>

<key>text</key>
<string>Test</string>
<key>id</key>
<string>435647e3455</string>
</dict>

<dict>
<key>0002</key>

<string>0003</string>
<key>zeit</key>
<date>2010-02-11 - 12:24:40</date>
<key>text</key>
<string>Blas</string>
<key>id</key>

<string>1241dfd34r3937</string>
</dict>

Wie kann ich die einzelen Stings und so auslesen?

Mit
Delphi-Quellcode:
myFirstXML.DocumentElement.ChildNodes['array'].ChildNodes['dict'].ChildNodes['key'].Text
nimmt er immer nur den ersten string. Wie kann ich das machen, das er nicht den obersten Key nimmt, sondern den nächsten?

MfG Dave

himitsu 13. Feb 2010 08:38

Re: XML mit mehreren Strings auslesen?
 
erstmal kannst du statt eines Namens auch einen Index angeben

Delphi-Quellcode:
// nimmt den 2. Node
myFirstXML.DocumentElement.ChildNodes['array'].ChildNodes['dict'].ChildNodes[1].Text

// nimmt hoffentlich den .2 Node mit dem Namen "key"
myFirstXML.DocumentElement.ChildNodes['array'].ChildNodes['dict'].ChildNodes['key[1]'].Text
Ansonsten kannst du auch mal in wikipedia.de nach "XPath" schauen.

DaveRidge 13. Feb 2010 09:11

Re: XML mit mehreren Strings auslesen?
 
Zitat:

Zitat von himitsu
erstmal kannst du statt eines Namens auch einen Index angeben

Delphi-Quellcode:
// nimmt den 2. Node
myFirstXML.DocumentElement.ChildNodes['array'].ChildNodes['dict'].ChildNodes[1].Text

// nimmt hoffentlich den .2 Node mit dem Namen "key"
myFirstXML.DocumentElement.ChildNodes['array'].ChildNodes['dict'].ChildNodes['key[1]'].Text
Ansonsten kannst du auch mal in wikipedia.de nach "XPath" schauen.


Das geht, danke :-)

MfG Dave


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 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