Laden...

XML element in XML hinzufügen

Erstellt von DaFlattinger vor einem Jahr Letzter Beitrag vor einem Jahr 222 Views
D
DaFlattinger Themenstarter:in
6 Beiträge seit 2022
vor einem Jahr
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

T
2.219 Beiträge seit 2008
vor einem Jahr

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.

D
DaFlattinger Themenstarter:in
6 Beiträge seit 2022
vor einem Jahr

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);

D
DaFlattinger Themenstarter:in
6 Beiträge seit 2022
vor einem Jahr

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

4.931 Beiträge seit 2008
vor einem Jahr

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.