Xml Lesen mit C#


Thomas Wölfer
Thomas Wölfer

27. Juli 2004


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.