Home   Cover Cover Cover Cover
 

XML

Achtung, zu allen Beispielen muss beim übersetzen das Assembly System.Xml.dll angegeben werden:
also: csc /r:System.Xml.dll ExampleX.cs

Beispiel "XmlReader"

In diesem Beispiel wird eine Xml-Datei "Adressbuch.xml" geöffnet und mit einem XmlReader geparst. Dabei werden alle Informationen ausgegeben die in Nachname-Tags eingschlossen sind.

Adressbuch.xml

../../../samples/4/Xml/XmlReaderExample.cs
using System;
using System.Xml;

namespace Kapitel4.Xml {

  public class XmlReaderExample {
    public static void Main(String[] argv) {
      XmlTextReader r = new XmlTextReader("Adressbuch.xml");
      while (r.Read()) {
        if (r.IsStartElement("Nachname")) {     // 
          r.Read();   //  Name
          Console.WriteLine(r.Value);
        }
      }
      r.Close();
    }
  }
}




Beispiel "XmlDocument aus Zeichenkette"

In diesem Beispiel wird eine DOM-Datenstructur aus einer Zeichenkette erzeugt und auf der Konsole ausgegeben.

../../../samples/4/Xml/XmlDocumentExample.cs
using System;
using System.Xml;

namespace Kapitel4.Xml {

  public class XmlDocumentExample {
    public static void Main(String[] argv) {
      XmlDocument doc = new XmlDocument();
      doc.LoadXml("" +
            "" +
            "");
      doc.Save(Console.Out);
    }
  }
}




Beispiel "XmlDocument durch Anlegen von Elementen"

In diesem Beispiel wird eine DOM-Datenstructur durch Anlegen von neuen Elementen erzeugt und auf der Konsole ausgegeben.

../../../samples/4/Xml/XmlDocumentExample2.cs
using System;
using System.Xml;

namespace Kapitel4.Xml {

  public class XmlDocumentExample2 {
    public static void Main(String[] argv) {
      //----- Erzeugen des Elements "Adressbuch"
      XmlDocument doc = new XmlDocument();
      XmlElement rootElem = doc.CreateElement("Adressbuch");
      rootElem.SetAttribute("Besitzer","1");  // Methode von XmlElement
      doc.AppendChild(rootElem);
      //----- Erzeugen eines Elements "Person"
      XmlElement person = doc.CreateElement("Person");
      person.SetAttribute("id","1");
      XmlElement e = doc.CreateElement("Vorname");            // Vorname
      e.AppendChild(doc.CreateTextNode("Wolfgang"));
      person.AppendChild(e);
      e = doc.CreateElement("Nachname");            // Nachname
      e.AppendChild(doc.CreateTextNode("Beer"));
      person.AppendChild(e);
      e = doc.CreateElement("email");            // Email-Adresse
      e.AppendChild(doc.CreateTextNode("beer@uni-linz.at"));
      person.AppendChild(e);
      doc.DocumentElement.AppendChild(person);
      //----- Erzeugen weiterer Personen ....
      // ...
      //----- Testausgabe auf der Konsole
      doc.Save(Console.Out);
    }
  }
}




Beispiel "XPath Abfrage"

In diesem Beispiel wird eine DOM-Datenstructur mit Hilfe einer XPath Abfrage nach bestimmten Elementen durchsurcht.

../../../samples/4/Xml/XPathExample.cs
using System;
using System.Xml;
using System.Xml.XPath;

namespace Kapitel4.Xml {

  public class XPathExample {
    public static void Main(String[] argv) {
      XmlDocument doc = new XmlDocument();
      doc.Load("Adressbuch.xml");
      XPathNavigator nav = doc.CreateNavigator();
      XPathExpression expr = nav.Compile("/Adressbuch/Person[Vorname='Wolfgang']/email");
      XPathNodeIterator iterator = nav.Select(expr);
      while (iterator.MoveNext())
        Console.WriteLine(iterator.Current.Value);
    }
  }
}




Beispiel "XslTransform"

In diesem Beispiel wird eine Xml-Darstellung der Datei Adressbuch, mit Hilfe eines Xsl Stylesheets, in eine HTML-Xml-Darstellung transformiert.

Adressbuch.xml
Adressbuch.xsl (XSL-Stylesheet)

../../../samples/4/Xml/XslTransformExample.cs
using System;
using System.Xml;
using System.Xml.Xsl;


namespace Kapitel4.Xml {

  public class XPathExample {
    public static void Main(String[] argv) {
      XslTransform xt = new XslTransform();
      xt.Load("Adressbuch.xsl");
      xt.Transform("Adressbuch.xml", "Adressbuch.html");
    }
  }
}

HTML-Adressbuch anzeigen