ReplaceChild(oldNode, newNode) - Knoten nicht untergeordnet!

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • ReplaceChild(oldNode, newNode) - Knoten nicht untergeordnet!

    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.

    Quellcode

    1. //damit klappts
    2. //XPATH aus xml-spy: /fahrzeuge/autos/@type=rennwagen
    3. XmlNode oldNode = XMLDOC.SelectSingleNode("//autos[@type='rennwagen']");
    4. //damit gehts nicht
    5. //XPATH: /fahrzeuge/autos/autos/@type=cross
    6. XmlNode oldNode = XMLDOC.SelectSingleNode("//autos[@type='cross']");
    7. string alterknoten = oldNode.OuterXml.ToString();
    8. XmlNode tempNode = XMLDOC.ImportNode(newNode, true);
    9. XMLDOC.DocumentElement.ReplaceChild(tempNode, oldNode);
    10. //Beim ReplaceChild wird dann die Exception geworfen.
    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