如何合并来自不同DomDocuments的XML
时间:2020-03-05 18:51:48 来源:igfitidea点击:
从两个不同的DOM文档合并XML的最简单方法是什么?除了使用Canonical DataReader方法然后将输出的DOM弄乱之外,还有其他方法吗?我基本上想要的是将AppendChild添加到XmlElements,而不会得到:要插入的节点来自不同的文档上下文。
这是我要工作的Ccode,显然不会(我正在做的是合并两个文档,有一些我对以下部分感兴趣的节点:
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); }
解决方案
回答
我们可以使用XmlDocument.ImportNode方法将节点从XmlDocument复制到另一个节点。
回答
我们可能对http://msdn.microsoft.com/zh-cn/library/system.xml.xmldocument.importnode.aspx感兴趣。但是请仔细阅读该文档的"下表描述了每个XmlNodeType的特定行为"。