Volker Hofheinz
2011-08-06 08:37:49 UTC
Hallo NG,
folgendes Problem:
ich habe eine XML-Datei, die per Programm befüllt werden soll. Der Aufbau
sieht folgendermaßen aus:
<?xml version="1.0" encoding="UTF-8"?>
<mediation>
<med>
<ID>456</ID>
<Datum>15.02.2011</Datum>
<Filename>med2.xls</Filename>
</med>
<med>
<ID>123</ID>
<Datum>30.01.2011</Datum>
<Filename>med.xls</Filename>
</med>
<med>
<ID>555</ID>
<Datum>06.08.2011 10:14:51</Datum>
<Filename>c:\med.xls</Filename>
</med>
</mediation>
Nun will ich einen neuen Knoten med mit Inhalt befüllen. Der Code sieht
folgendermaßen aus:
void XML-Befuellen()
{
XmlDocument xd = new XmlDocument();
xd.Load(@"d:\\mediation.xml");
XmlNode root = xd.DocumentElement, node;
if (root != null)
{
node = root.LastChild;
root.AppendChild(xd.CreateElement("med"));
node = root.SelectSingleNode("med");
node.AppendChild(xd.CreateElement("ID")).InnerText = "555";
node.AppendChild(xd.CreateElement("Datum")).InnerText =
System.DateTime.Now.ToString();
node.AppendChild(xd.CreateElement("Filename")).InnerText =
"c:\\med.xls";
}
xd.Save(@"d:\\mediation.xml");
}
Er schreibt die Elemente aber immer in ein bestehenden Node.
Wo liegt mein Denkfehler?
Gruß und Danke,
Volker
P.S. habe bisher mit XML keine Erfahrungen
folgendes Problem:
ich habe eine XML-Datei, die per Programm befüllt werden soll. Der Aufbau
sieht folgendermaßen aus:
<?xml version="1.0" encoding="UTF-8"?>
<mediation>
<med>
<ID>456</ID>
<Datum>15.02.2011</Datum>
<Filename>med2.xls</Filename>
</med>
<med>
<ID>123</ID>
<Datum>30.01.2011</Datum>
<Filename>med.xls</Filename>
</med>
<med>
<ID>555</ID>
<Datum>06.08.2011 10:14:51</Datum>
<Filename>c:\med.xls</Filename>
</med>
</mediation>
Nun will ich einen neuen Knoten med mit Inhalt befüllen. Der Code sieht
folgendermaßen aus:
void XML-Befuellen()
{
XmlDocument xd = new XmlDocument();
xd.Load(@"d:\\mediation.xml");
XmlNode root = xd.DocumentElement, node;
if (root != null)
{
node = root.LastChild;
root.AppendChild(xd.CreateElement("med"));
node = root.SelectSingleNode("med");
node.AppendChild(xd.CreateElement("ID")).InnerText = "555";
node.AppendChild(xd.CreateElement("Datum")).InnerText =
System.DateTime.Now.ToString();
node.AppendChild(xd.CreateElement("Filename")).InnerText =
"c:\\med.xls";
}
xd.Save(@"d:\\mediation.xml");
}
Er schreibt die Elemente aber immer in ein bestehenden Node.
Wo liegt mein Denkfehler?
Gruß und Danke,
Volker
P.S. habe bisher mit XML keine Erfahrungen