Eigentlich ist es ganz einfach.
Ich möchte in einem XML-Dokument einen alten Knoten durch einen neu generierten Austauschen.
Das klappt ansich schon - bis ich einen alten Knoten austauschen wollte der "tiefer" liegt.
Dort bekomme ich ständig immer die Meldung, dass der Knoten nicht untergeordnet ist.
Obwohl er das eigentlich ist.
Alles anzeigen
Die knoten sind alle vorhanden. Ich teste es ja auch beim Debuggen beim "string alterknoten" und da steht auch alles drin.
--> /fahrzeuge/autos/@type=rennwagen --> alles okay
--> /fahrzeuge/autos/autos/@type=cross --> kein untergeordneter knoten ...
also was mache ich falsch? mir entzieht sich das irgendwie jeglicher logik
Ich möchte in einem XML-Dokument einen alten Knoten durch einen neu generierten Austauschen.
Das klappt ansich schon - bis ich einen alten Knoten austauschen wollte der "tiefer" liegt.
Dort bekomme ich ständig immer die Meldung, dass der Knoten nicht untergeordnet ist.
Obwohl er das eigentlich ist.
Quellcode
- //damit klappts
- //XPATH aus xml-spy: /fahrzeuge/autos/@type=rennwagen
- XmlNode oldNode = XMLDOC.SelectSingleNode("//autos[@type='rennwagen']");
- //damit gehts nicht
- //XPATH: /fahrzeuge/autos/autos/@type=cross
- XmlNode oldNode = XMLDOC.SelectSingleNode("//autos[@type='cross']");
- string alterknoten = oldNode.OuterXml.ToString();
- XmlNode tempNode = XMLDOC.ImportNode(newNode, true);
- XMLDOC.DocumentElement.ReplaceChild(tempNode, oldNode);
- //Beim ReplaceChild wird dann die Exception geworfen.
Die knoten sind alle vorhanden. Ich teste es ja auch beim Debuggen beim "string alterknoten" und da steht auch alles drin.
--> /fahrzeuge/autos/@type=rennwagen --> alles okay
--> /fahrzeuge/autos/autos/@type=cross --> kein untergeordneter knoten ...
also was mache ich falsch? mir entzieht sich das irgendwie jeglicher logik