如何合并来自不同DomDocuments的XML

Kri*_*son 2 .net xml

从两个不同的DOM文档合并XML的最简单方法是什么?有没有一种方法,除了使用Canonical DataReader方法,然后搞乱输出的DOM.我基本上想要的是将AppendChild添加到XmlElements而不会得到:The node to be inserted is from a different document context. 这是我想要工作的C#代码,显然不会(我正在做的是合并两个具有我感兴趣的节点串的文档):

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("/a/items/*");

foreach (XmlNode doc1Node in doc1Nodes)
{
    doc2Node.AppendChild(doc1Node);
}
Run Code Online (Sandbox Code Playgroud)

cka*_*ras 5

您可以使用XmlDocument.ImportNode方法将节点从XmlDocument复制到另一个节点.