multitasker
Mitglied
Hallo,
ich habe eine XML Datei, die ich mit dem XmlNodeREader auslesen möchte. Leider liest er nur jeden zweiten Node (Element) aus. Beim Debuggen habe ich gesehen, dass er dieses Element, das er nicht ausliest als Text und als EndElement interpretiert und nicht als Element. Also aus einem für mich nicht ersichtlichen Grund, erkennt er das Element <Element2_name> und jedes zweite darauffolgende nicht als Element.
Die XML-File sieht so aus:
Der Teil, der für das auslesen zuständig ist:
Wenn ich die Elemente in der XML von der Reihenfolge vertausche, wird wieder das erste Element erkannt, das zweite nciht und so weiter. Wobei dann natürlich die Vertauschten gelesen werden:
Gruß Jens
ich habe eine XML Datei, die ich mit dem XmlNodeREader auslesen möchte. Leider liest er nur jeden zweiten Node (Element) aus. Beim Debuggen habe ich gesehen, dass er dieses Element, das er nicht ausliest als Text und als EndElement interpretiert und nicht als Element. Also aus einem für mich nicht ersichtlichen Grund, erkennt er das Element <Element2_name> und jedes zweite darauffolgende nicht als Element.
Die XML-File sieht so aus:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<INI name="text" no="text">
<Database>
<element1_name>Text1</element1_name> 'wird gelesen
<element2_name>Text2</element2_name> 'wird nicht gelesen
<element3_name>Text3</element3_name> 'wird gelesen
<element4_name>Text4</element4_name> 'wird nicht gelesen
<element5>Text5</element5> '.....
<element6>Text6</element6>
</Database>
</INI-FILE>
Der Teil, der für das auslesen zuständig ist:
Code:
Do While xmlNodeReader.Read
If xmlNodeReader.NodeType = XmlNodeType.Element Then
If xmlNodeReader.Name = "element1_name" Then
ListView1.Items.Add(xmlNodeReader.ReadElementContentAsString)
ElseIf xmlNodeReader.Name = "element2_name" Then
ListView1.Items.Add(xmlNodeReader.ReadElementContentAsString)
ElseIf xmlNodeReader.Name = "element3_name" Then
ListView1.Items.Add(xmlNodeReader.ReadElementContentAsString)
ElseIf xmlNodeReader.Name = "element4_name" Then
ListView1.Items.Add(xmlNodeReader.ReadElementContentAsString)
ElseIf xmlNodeReader.Name = "element5_name" Then
ListView1.Items.Add(xmlNodeReader.ReadElementContentAsString)
ElseIf xmlNodeReader.Name = "element6_name" Then
ListView1.Items.Add(xmlNodeReader.ReadElementContentAsString)
End If
End If
Loop
Wenn ich die Elemente in der XML von der Reihenfolge vertausche, wird wieder das erste Element erkannt, das zweite nciht und so weiter. Wobei dann natürlich die Vertauschten gelesen werden:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<INI name="text" no="text">
<Database>
<element2_name>Text2</element2_name> 'wird gelesen
<element1_name>Text1</element1_name> 'wird nicht gelesen
<element4_name>Text4</element4_name> 'wird gelesen
<element3_name>Text3</element3_name> 'wird nicht gelesen
.................
</Database>
</INI-FILE>
Gruß Jens
Zuletzt bearbeitet: