XmlNode aus anderem Dokument lässt sich nicht einfügen

09/11/2008 - 23:03 von Peter Brightman | Report spam
Hallo NG,

ich will einen Teil eines XmlDokument in ein anderes einfügen, mit
AppendChild(), aber es geht nicht. Es kommt die Fehlermeldung dass
der Knoten zu einem anderen Dokument gehört. Auch CloneNode() verbessert
nichts. Wie kann ich denn sàmtliche parents einer Node abhàngen damit
ich die Node einfügen kann bzw. was mache ich falsch? Bin für jeden
Tipp dankbar.

Peter
 

Lesen sie die antworten

#1 Frank Dzaebel
10/11/2008 - 09:54 | Warnen spam
Hallo Peter,

ich will einen Teil eines XmlDokument in ein anderes einfügen, mit
AppendChild(), aber es geht nicht. Es kommt die Fehlermeldung dass
der Knoten zu einem anderen Dokument gehört.



Der Knoten sollte zunàchst importiert werden -> ImportNode.

[XmlDocument.ImportNode-Methode (System.Xml)]
http://msdn.microsoft.com/de-de/lib...tnode.aspx

private void Form1_Load(object sender, EventArgs e)
{
XmlDocument personen = new XmlDocument();
personen.Load("Personen.xml");
XmlElement persRoot = personen.DocumentElement;

XmlDocument adressen = new XmlDocument();
adressen.Load("Adressen.xml");
XmlElement adr = adressen.DocumentElement;

XmlNode adr2 = adressen.SelectSingleNode("//Adresse[@ID='2']");
XmlNode per2 = personen.SelectSingleNode("//Person[@ID='2']");

XmlNode node = personen.ImportNode(adr2, false);
persRoot.AppendChild(node);

personen.Save("PersNeu.xml");
}

______________________

Beachte ggf., dass es die XElement-Klasse gibt,

[XElement-Klasse (System.Xml.Linq)]
http://msdn.microsoft.com/de-de/lib...ement.aspx

mit der die Verarbeitung von XML nochmal
ein Stück einfacher ist.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen