Wie kann ich Elementwert von XPathNodeIterator bekommen?
-
10-10-2019 - |
Frage
Wenn ich versuche, um Code wie diese,
XPathNodeIterator it;
string selectStr = "Equipment/Group/item";
it = nav.Select(selectStr);
while (it.MoveNext())
{
String strVal = "";
if (it.Current.HasChildren)
{
strVal = it.Current.Value.ToString(); // get wrong value here. I want to get 'COM' and 'MD'
}
}
Meine XML-Datei als das
<Equipment xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<License licenseId="" licensePath=""/>
<Group>
<item>
<key>COM</key>
<value>
<format>10</format>
<value>0</value>
</value>
</item>
<item>
<key>MD</key>
<value>
<format>20</format>
<value>test</value>
</value>
</item>
.....
fand ich, wenn ich while
Methode Schleife verwenden, um alle die XML-Datei ist sehr bequem.
Aber ich weiß nicht, wie die Beziehung zu etablieren Elementwert zu erhalten, wenn ich eine XPathNodeIterator wie oben definiert?
Eigentlich muss ich die ganze XML-Datei mit Hilfe von XPathNodeIterator lesen.
Lösung
würden Sie haben einen neuen Iterator für jeden untergeordneten Knoten starten nur die Unterpunkte auswählen. XPathNodeIterator
und XPath in der Regel mehr richtet sich an Extrahieren Daten aus XML. Wenn Sie die gesamte XML-Datei lesen möchten, sollten Sie XmlReader (sehr schnell, nur vorwärts) oder XDocument (leicht zu bedienen).
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow