Wie kann ich Lesen Sie alle Elemente in eine einfache XML mit XMLReader in .Net 2.0?
Ich habe Folgendes XML:
<XMLDictionary>
<a>b</a>
<c>d</c>
<e>f</e>
</XMLDictionary>
Ich versuche, die Zuordnungen a: b: c: d: e: f, und ich kann nicht ganz herausfinden, wie zu tun Sie es einfach.
Mein Aktueller code sieht wie folgt aus:
Do While reader.Read()
If reader.NodeType = Xml.XmlNodeType.Element Then
Me.Add(reader.Name, reader.ReadElementString)
End If
Loop
Das problem ist, dass ich nicht weiß, wie zu Lesen, ist der Inhalt des Elements, ohne ReadElementString, und ReadElementString springt der "Zeiger" auf den nächsten Knoten (so Leser.Name bereits wird der nächste Wert). Wenn in der Schleife I call Read() wieder, ich überspringe Knoten.
Ich habe versucht, verschiedene Variationen über dieses Thema, und keiner funktioniert perfekt, was bedeutet, dass ich etwas wichtiges fehlt hier.
Irgendwelche Hinweise?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich weiß nicht, ob ich würde das XmlReader-für das, was Sie tun, wahrscheinlich nur ein XmlDocument, aber wenn Sie möchten, dass der Leser wahrscheinlich so etwas wie dies funktionieren könnte:
Verzeihen Sie mir etwaige Fehler in der syntax; es ist schon eine Weile her, seit der geschrieben VB.net. Dies ist ein basic state machine, die zuerst erkennt, wenn ein Element gefunden wird, und dann beginnt die Suche nach einem text-Wert.
Wie über die Verwendung von reader.ReadString() anstelle der Leser.ReadElementString()? Oder möglicherweise stattdessen verwenden Sie einfach reader.Wert, um den Wert des aktuellen Knotens.
Probieren (ungetestet):