Hallo, ich will mit folgendem Code ein Xml erzeugen, was auch fast klappt:
XmlDocument serXml = new XmlDocument();
serXml.AppendChild(serXml.CreateElement("LaTexVorlage"));
XmlNode root = serXml.DocumentElement;
XmlNode eigenschaften = serXml.CreateElement("Eigenschaften");
root.AppendChild(eigenschaften);
XmlNode name = serXml.CreateElement("Name");
name.InnerText = tplName;
eigenschaften.AppendChild(name);
XmlNode textpl = serXml.CreateElement("LaTexTemplate");
textpl.InnerText = tplTexPath;
eigenschaften.AppendChild(textpl);
XmlNode feld = serXml.CreateElement("Feld");
root.AppendChild(feld)
XmlNode fname = serXml.CreateElement("Name");
fname.InnerText = felder[i].Name;
feld.AppendChild(name); // hier
XmlNode fmarker = serXml.CreateElement("Marker");
fmarker.InnerText = felder[i].Marker;
feld.AppendChild(fmarker);
Eigentlich sollte das dann ein Xml der folgenden Form geben:
<LaTexVorlage>
<Eigenschaften>
<Name>Privater Brief</Name>
<LaTexTemplate>D:\vs8\a.tex</LaTexTemplate>
</Eigenschaften>
<Feld>
<Name>Betreff</Name>
<Marker>[[subject]]</Marker>
</Feld>
</LaTexVorlage>
Das funktioniert auch fast, bis zu der Codezeile, die ich mit //hier gekennzeichnet habe. Hier wird nämlich das Name-Element aus "Eigenschaften" wieder gelöscht, weil sich das wahrscheinlich mit dem gleichnamigen Element das dort erzuegt wird auf die Füße steigt.
Wie kann man das lösen?