C# – XML Datei erstellen und mit Daten füllen

Allgemein

Dieses Codesnipp erstellt eine XML Datei und legt Root und Unterelemente mit Attributen und Text an.
XML ist eine Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten in Form von Textdateien. Es kann unter anderem genutzt werden, zur speicherung von Einstellungen oder trivialer Datenspeicherung.

Usings

using System.Xml;

Programmcode

 Datei erstellen

C# Code:

XmlDocument doc = new XmlDocument();    //Instanz eines XML Dokuments in den RAM laden
doc.Save(@"c:\helloxmlworld.xml");      //Speichern des im RAM liegenden XML Dokuments auf die Festplatte

Root Element anlegen

C# Code:

XmlDocument doc = new XmlDocument();            //Instanz eines XML Dokuments in den RAM laden
XmlNode myRoot;                                 //Neue Instanz eines XML Knotens reservieren
myRoot = doc.CreateElement("HelloXMLWorld");    //XML Element "HelloXMLWorld" in den Reservierten Knoten laden
doc.AppendChild(myRoot);                        //Knoten direkt an das XML Dokument anheften (Root Element)
doc.Save(@"c:\helloxmlworld.xml");              //Speichern des im RAM liegenden XML Dokuments auf die Festplatte

 XML Code:

<HelloXMLWorld />

 Unterknoten hinzufügen

C# Code:

//Instanz eines XML Dokuments in den RAM laden und XML Konten reservieren
XmlDocument doc = new XmlDocument();
XmlNode myRoot, myNode;
//Root Element einfügen
myRoot = doc.CreateElement("HelloXMLWorld");
doc.AppendChild(myRoot);  

myNode = doc.CreateElement("Child1");   //XML Element "Child1" in den Reservierten Knoten laden
myRoot.AppendChild(myNode);             //"Child1" an den Root Knoten heften

//Das ganze in einer Zeile
myRoot.AppendChild(doc.CreateElement("Child2"));

//XML Dokument speichern
doc.Save(@"c:\helloxmlworldChild.xml");

 

XML Code:

<HelloXMLWorld>
    <Child1 />
    <Child2 />
</ HelloXMLWorld>

 Text und Attribute einfügen

C# Code:

//Instanz eines XML Dokuments in den RAM laden, XML Konten und XML Attribute reservieren
XmlDocument doc = new XmlDocument();
XmlNode myRoot, myNode;
XmlAttribute myAttribute;

//Root Element einfügen
myRoot = doc.CreateElement("HelloXMLWorld");
doc.AppendChild(myRoot);

myNode = doc.CreateElement("Child1");               //Unterknoten einfügen
myNode.InnerText = "Text1";                         //Text in den Knoten laden

myAttribute = doc.CreateAttribute("Attribute1");    //Attribut aus XML Dokument erstellen
myAttribute.InnerText = "AttributeText1";           //Attribut mit Wert befüllen
myNode.Attributes.Append(myAttribute);              //Attribut an Unterknoten einfügen

//Unterknoten an Root Knoten anhängen
myRoot.AppendChild(myNode);
//Das ganze in 2 Zeilen
myRoot.AppendChild(doc.CreateElement("Child2")).InnerText = "Text2";
myRoot.SelectSingleNode("Child2").Attributes.Append(doc.CreateAttribute("Attribute2")).InnerText = "AttributeText2";

//XML Dokument speichern
doc.Save(@"c:\HelloXMLWorldAttribute.xml");

XML Code:

<HelloXMLWorld>
    <Child1 Attribute1="AttributeText1">Text1</Child1>
    <Child2 Attribute2="AttributeText2">Text2</Child2>
</ HelloXMLWorld>

 

Gero

Ich habe eine Ausbildung als Fachinformatiker Systemintegration absolviert und spezialisiere mich in den Gebieten C# Programmierung und Server Netzwerk Infrastruktur. Dank meiner Selbständigkeit komme ich immer wieder an spezialfälle und entwickle hierzu lösungen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.