krrrambambuli
Grünschnabel
Hallo!
Ich habe eine sehr große XML Datei aus der ich verschiedene Informationen erhalten möchte.
Z.B., möchte ich es hinbekommen, alle Texte die vorher mit "id="2113564"" gekennzeichnet sind, in der Console auszugeben. Bisher schaffe ich das auch, allerdings nur mit dem ersten Element dieser Art.
Nachdem "schalter2" ausgegeben wurde, wird nicht weiter gesucht.
Das hat wohl was mit dem reader zu tun, der dann nicht weiter macht. Hat da jemand eine Lösung
?
Ausschnitt aus der XML Datei:
Programme:
Ich habe eine sehr große XML Datei aus der ich verschiedene Informationen erhalten möchte.
Z.B., möchte ich es hinbekommen, alle Texte die vorher mit "id="2113564"" gekennzeichnet sind, in der Console auszugeben. Bisher schaffe ich das auch, allerdings nur mit dem ersten Element dieser Art.
Nachdem "schalter2" ausgegeben wurde, wird nicht weiter gesucht.
Das hat wohl was mit dem reader zu tun, der dann nicht weiter macht. Hat da jemand eine Lösung

Ausschnitt aus der XML Datei:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<meinXML>
.....
<array id="2113564">
<System.Array.Int32>
</System.Array.Int32>
</array>
<string>schalter2</string>
<uint32>2</uint32>
<int32>1</int32>
<array id="2113564">
<System.Array.Int32>
</System.Array.Int32>
</array>
<string>schalter1</string>
<uint32>1</uint32>
<int32>1</int32>
.....
</meinXML>
Programme:
Code:
namespace XML_auslesen
{
class Program
{
static void Main(string[] args)
{
XmlReader reader;
reader = XmlReader.Create(@"D:\Macke\Testprogramme\TIA\System\tia-export2.xml");
List<Gegenstand> liste = new List<Gegenstand>();
Gegenstand Teil = null;
// AUF ELEMENTE ( "id=2113564" ) untersuchen
while (reader.Read())
{
if (reader.NodeType == (XmlNodeType.Element))
{
Console.WriteLine("--> Element gefunden");
Console.WriteLine(reader.Value.ToString());
string buffer2;
buffer2 = reader.ReadInnerXml();
string id = "id=\"2113564\"";
if (buffer2.Contains(id))
{
Console.WriteLine("Wichtiges Objekt");
Console.WriteLine(buffer2.ToString());
}
}
}
}
...