Das kleinste XML-Dokument würde wohl aus einem leeren Rootelement bestehen. Wir erzeugen dieses kleinste, quasi “helloXMLWorld” Dokument mit CSharp Code. Es wird ein leeres Rooteelement erzeugt und zum Dokument hinzugefügt. Anschließend speichern wir das XML-Dokument als Datei ab.
1 | <HelloXMLWorld /> |
1 2 3 4 5 6 7 8 9 10 11 | using System.Xml; ... void Csharp_HelloWorld_XML() { XmlDocument doc = new XmlDocument(); XmlNode myRoot; myRoot = doc.CreateElement("HelloXMLWorld"); doc.AppendChild(myRoot); doc.Save(@"c:\helloxmlworld.xml"); } ... |
Erzeugen von Unterknoten
Mit dem Befehl “AppendChild” werden dem Rooteelement weitere Untereinträge hinzugefügt. Im Beispiel wird die Root um vier leere Kindknoten erweitert. Bei den Varianten Child3 und Child4, wird das erzeugte Objekt direkt an die Methode AppendChild weitergegeben. Das Ergebnis ist bei allen Childnodes das gleiche, bei den beiden letzten können aber Variablen und Codezeilen gespart werden, was die Übersichtlichkeit erhöht.
1 2 3 4 5 6 | <appendchild> <child1 /> <child2 /> <child3 /> <child4 /> </appendchild> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | using System.Xml; ... void Csharp_AppendChild() { XmlDocument doc = new XmlDocument(); XmlNode myRoot, myNode; myRoot = doc.CreateElement("AppendChild"); doc.AppendChild(myRoot); myNode = doc.CreateElement("Child1"); myRoot.AppendChild(myNode); myNode = doc.CreateElement("Child2"); myRoot.AppendChild(myNode); myRoot.AppendChild(doc.CreateElement("Child3")); myRoot.AppendChild(doc.CreateElement("Child4")); doc.Save(@"c:\AppendChild.xml"); } ... |
Einfügen von Text und Attributen
Im Beispiel werden der InnerText und eine Attribut angelegt. Child1 zeigt dabei die ausgiebige Variante. Bei Child2 wird die kurze Variante demonstriert.
1 2 3 4 | <AppendChild> <Child1 Attribute1="AttributeText1">Text1</Child1> <Child2 Attribute2="AttributeText2">Text2</Child2> </AppendChild> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | using System.Xml; ... void Csharp_Text_Attribute() { XmlDocument doc = new XmlDocument(); XmlNode myRoot, myNode; XmlAttribute myAttribute; myRoot = doc.CreateElement("AppendChild"); doc.AppendChild(myRoot); myNode = doc.CreateElement("Child1"); myNode.InnerText = "Text1"; myAttribute = doc.CreateAttribute("Attribute1"); myAttribute.InnerText = "AttributeText1"; myNode.Attributes.Append(myAttribute); myRoot.AppendChild(myNode); myRoot.AppendChild(doc.CreateElement("Child2")).InnerText = "Text2"; myRoot.SelectSingleNode("Child2").Attributes.Append (doc.CreateAttribute("Attribute2")).InnerText = "AttributeText2"; doc.Save(@"c:\TextAttribute.xml"); } ... |
Tags: xml