Hallo,
ich habe folgendes Problem mit eine XML Datei mit folgendem Aufbau ( und bin Anfänger in Sachen XML):
XML-Quellcode
- <Knoten1>
- <Knoten2>
- <Knoten3>
- <Knoten_A>"Text"</Knoten_A>"
- <Knoten_B>"Text"</Knoten_B>"
- .
- .
- <Knoten_C>
- <Knoten_D>"Text"</Knoten_D>"
- </Knoten_C>"
- <Knoten_C>
- <Knoten_D>"Text"</Knoten_D>"
- </Knoten_C>"
- <Knoten_C>
- <Knoten_D>"Text"</Knoten_D>"
- </Knoten_C>"
- </Knoten3>
- <Knoten3>
- <Knoten_A>"Text"</Knoten_A>"
- <Knoten_B>"Text"</Knoten_B>"
- .
- .
- <Knoten_C>
- <Knoten_D>"Text"</Knoten_D>"
- </Knoten_C>"
- <Knoten_C>
- <Knoten_D>"Text"</Knoten_D>"
- </Knoten_C>"
- <Knoten_C>
- <Knoten_D>"Text"</Knoten_D>"
- </Knoten_C>"
- </Knoten3>
- </Knoten2>
- </Knoten1>
Ich habe nun versucht die Werte der "ChildNodes" von Knoten_3 auszulesen:
VB.NET-Quellcode
- .
- Dim NodeIter As XPathNodeIterator
- .
- strExpression = "/Knoten1/Knoten2/Knoten3"
- NodeIter = nav.Select(strExpression)
- While (NodeIter.MoveNext())
- xmlText &= NodeIter.Current.SelectSingleNode("Knoten_A").Value & " | "
- xmlText &= NodeIter.Current.SelectSingleNode("Knoten_B").Value & " | "
- xmlText &= NodeIter.Current.SelectSingleNode("Knoten_C/Knoten_B").Value & " | "
- End While
Das funktioniert auch soweit. Leider finde ich keinen Weg vom mehrfach vorkommenden "Knoten_C/Knoten_D" (ChildNode von Knoten_3) die Werte auszulesen.
Ich erhalte mit dieser Methode immer nur den ersten Wert dieses Knotens bevor das Programm zum nächtsen Knoten_3 springt.
xmlText sieht dann ungefähr so aus:
Knoten_A.value | Knoten_B.value |(Knoten_C/Knoten_D(1.WERT).value > 1.Knoten3 wird gelesen
Knoten_A.value | Knoten_B.value |(Knoten_C/Knoten_D(2.WERT).value > 1.Knoten3 wird nicht mehr gelesen
Knoten_A.value | Knoten_B.value |(Knoten_C/Knoten_D(1.WERT).value > 2.Knoten3wird gelesen
Knoten_A.value | Knoten_B.value |(Knoten_C/Knoten_D(2.WERT).value > 2.Knoten3wird nicht gelesen
Kann ich mit XPathNodeIterator ab einer bestimmten Position alle ChilNodes auslesen, bevor ich mit While(.movenext) weiterspringe (weitere Schleife für ChildNodes)?
Ich hoffe ich habe mich ( trotz mangelnder Terminologie in XML) halbwegs verständlich ausgedrückt.
Im Vorraus schon mal herzlicheb Dank für reinschauen.
Sollte ich icm falschen Forum sein, wäre ich für eine Info dankbar.
mjLem