Xml Lesen mit C#
Ich habe heute recht lange danach gesucht - darum hier ein kurzer Hinweis darauf, wie man mit C# (bzw. dem BCL) XML laden und bearbeiten kann. Der Trick ist eigentlich ganz einfach: Man muss nur wissen, das man je eine Instanz von zwei Klassen braucht, eine allein reicht nicht.
Im Wesentlichen braucht man ein XmlDocument Instanz und eine der diversen XmlReader - am einfachsten tut es ein XmlNodeReader. Das XmlDocument kapselt nur die Datei, der Reader macht die eigentliche Arbeit.
string path = "c:\\temp\\file.xml";
XmlDocument document = new XmlDocument();
document.Load( path);
XmlNodeReader reader = new XmlNodeReader( document);
Das wars dann eigentlich schon. Wenn man sich nun einfach für alle Nodes interessiert, dann geht das wie folgt:
while( reader.Read())
{
switch( reader.NodeType)
{
case XmlNodeType.Element:
break;
// und die anderen typen...
}
}
Im Prinzip muss man also eigentlich nur wissen, das man ein separates Document braucht um den Reader zu konstruieren.