Quel est le moyen le plus simple de fusionner XML à partir de deux documents DOM distincts? Y a-t-il un moyen autre que d'utiliser l'approche Canonical DataReader et de jouer avec le DOM sorti. Ce que je veux essentiellement, c'est AppendChild à XmlElements sans avoir: The node to be inserted is from a different document context.
Voici le code C# que je veux travailler, ce qui ne va évidemment pas (ce que je fais fusionne deux documents qui ont des tas de nœuds qui m'intéressent) :Comment fusionner XML à partir de différents DomDocuments
XmlDocument doc1 = new XmlDocument();
doc1.LoadXml("<a><items><item1/><item2/><item3/></items></a>");
XmlDocument doc2 = new XmlDocument();
doc2.LoadXml("<b><items><item4/><item5/><item6/></items></b>");
XmlNode doc2Node = doc2.SelectSingleNode("/b/items");
XmlNodeList doc1Nodes = doc1.SelectNodes("https://stackoverflow.com/a/items/*");
foreach (XmlNode doc1Node in doc1Nodes)
{
doc2Node.AppendChild(doc1Node);
}
http://php.net/domdocument.importnode – matpie
Notez que lorsque vous .ImportNode() vous obtenez un nouveau noeud. Utilisez celui-là - l'ancien jettera toujours une exception! – ANeves