XML Datei um einen Knoten erweitern

02/06/2008 - 10:26 von Alexande Schwarz | Report spam
Hallo NG!

Ich habe letzte Woche schon ein Problem gepostet. Es handelt sich diesmal um
eine andere XML Datei. Ich will diese um einen zusàtzlichen Knoten
(<tabelle>) erweitern.
Ich kriege es hin das Element "Tabelle" mit den Attributen an die Datei
anzuhàngen. Aber ich habe Probleme mit den unteren (<feld1> & <feld2>). Ich
weiß nicht wie ich die da rein bekomme.

XML:
<?xml version="1.0" standalone="yes"?>
<_x0031_>
<tabelle name="t1">
<feld1>text</feld1>
<feld2 Typ="0">text</feld2>
</tabelle>
</_x0031_>

Code:
XmlDocument doc = new XmlDocument();
//lade die XML-Datei
doc.Load(Settings1.Default.pfad_MasterXML);
XmlElement root = doc.DocumentElement;
XmlNode newNode = null;
XmlNode newNode2 = null;
XmlNode newNode3 = null;
newNode = doc.CreateElement("tabelle");
newNode2 = doc.CreateElement("feld1");
newNode3 = doc.CreateElement("feld2");
((XmlElement)newNode).SetAttribute("Name", "t2");
((XmlElement)newNode3).SetAttribute("Type", "0");
root.AppendChild(newNode);

doc.Save(Settings1.Default.pfad_MasterXML);


Ich wàre sehr dankbar für Tipps, Kritik und Hilfe

MFG
Alex
 

Lesen sie die antworten

#1 Franz Ludewig
02/06/2008 - 11:22 | Warnen spam
Hallo,

Alexande Schwarz schrieb:

Ich kriege es hin das Element "Tabelle" mit den Attributen an die Datei
anzuhàngen. Aber ich habe Probleme mit den unteren (<feld1> & <feld2>). Ich
weiß nicht wie ich die da rein bekomme.

XML:
<?xml version="1.0" standalone="yes"?>
<_x0031_>
<tabelle name="t1">
<feld1>text</feld1>
<feld2 Typ="0">text</feld2>
</tabelle>
</_x0031_>

Code:
XmlDocument doc = new XmlDocument();
//lade die XML-Datei
doc.Load(Settings1.Default.pfad_MasterXML);
XmlElement root = doc.DocumentElement;
XmlNode newNode = null;
XmlNode newNode2 = null;
XmlNode newNode3 = null;
newNode = doc.CreateElement("tabelle");
newNode2 = doc.CreateElement("feld1");
newNode3 = doc.CreateElement("feld2");
((XmlElement)newNode).SetAttribute("Name", "t2");
((XmlElement)newNode3).SetAttribute("Type", "0");
root.AppendChild(newNode);

doc.Save(Settings1.Default.pfad_MasterXML);




Du musst die XmlNodes auch an den jeweiligen parent anhàngen.
Hier ein Beispiel:

XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("_x0031_");
doc.AppendChild(root);
XmlElement tableElement = doc.CreateElement("tabelle");
tableElement.SetAttribute("Name", "t2");
root.AppendChild(tableElement);
XmlElement field1Element = doc.CreateElement("feld1");
field1Element.InnerText = "feld1";
tableElement.AppendChild(field1Element);
XmlElement field2Element = doc.CreateElement("feld2");
field2Element.SetAttribute("Type", "0");
field2Element.InnerText = "text";
tableElement.AppendChild(field2Element);

Bis dann,
Franz

Ähnliche fragen