Laden...

XML element in XML hinzufügen

Letzter Beitrag vor 2 Jahren 5 Posts 303 Views
XML element in XML hinzufügen

Hallo,

Ich habe nun schon einiges Versucht an Code und bin seit Tagen dran aber kriege es irgendwie nicht hin.


<ArrayOfConfigParameter xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<ConfigParameter>
		<Name>Server</Name>
		<ConfigType>string</ConfigType>
		<Value xsi:type="xsd:string">10.8.123.12</Value>
	</ConfigParameter>
	<ConfigParameter>
		<Name>StationId</Name>
		<ConfigType>int</ConfigType>
		<Value xsi:type="xsd:string">100</Value>
	</ConfigParameter>
	<ConfigParameter>
		<Name>TimeFactor</Name>
		<ConfigType>float</ConfigType>
		<Value xsi:type="xsd:string">10.5</Value>
	</ConfigParameter>
	<ConfigParameter>
		<Name>Test</Name>
		<ConfigType>int</ConfigType>
		<Value xsi:type="xsd:string">10.5</Value>
	</ConfigParameter>
</ArrayOfConfigParameter>

Ich möchte diesen:


<ConfigParameter>
		<Name>Test</Name>
		<ConfigType>int</ConfigType>
		<Value xsi:type="xsd:string">10.5</Value>
	</ConfigParameter>

nochmal einfügen in das XML Dokument nur mit anderen Werten z.B beim Namen 'Moin' oder so...

Vielen Dank

Wie sieht den dein aktueller Code aus?
XML bearbeiten ist in .NET am besten Dokumentiert, dass du da nichts findest, halte ich auch für ein Gerücht.

Ansonsten hier ein Denkanstoß:
XmlNode.AppendChild

T-Virus

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

Ich finde einige Antworten auf Google aber habe eigentlich schon so ziemlich alles durch...

Code habe ich nicht wirklich einen. Ich versuche es gerade wie folgt:


XmlDocument doc = new XmlDocument();
            doc.Load(path);
            XmlElement element = doc.CreateElement("ConfigParameter");
            XmlAttribute name = doc.CreateAttribute("Name", "Hallo");
            XmlAttribute type = doc.CreateAttribute("ConfigType", "string");
            XmlAttribute value = doc.CreateAttribute("Value", "Wert");

            element.SetAttributeNode(name);
            element.SetAttributeNode(type);
            element.SetAttributeNode(value);

Hallo,

was du mir gesendet hast hatte ich bereits versucht. Nur ich möchte ja nicht nur einen Node hinzufügen sondern ein Element in welchen die Nodes drinnen sind.
Ich schaffe es jedoch nicht das ich nodes in das Element reinpacke und dieses Element dann in die XML File reinschreibe...

LG

Orientiere dich mal an How to add Xml node in existing xml file using c#.

XmlNode ist die Basisklasse für alle XML Knotentypen (Document, Element, Attribut, ...).
Daher mußt du zuerst noch den passenden Eintrag suchen (z.B. mit doc.Descendants(...), bevor du dann einen neuen Eintrag hinzufügen kannst.

Und Name, ConfigType sowie Value sind ihrerseits (Unter-)Elemente, keine Attribute.