xml将现有节点从一个文档复制到另一个文档

ImportNode 方法是将节点或整个节点子树从一个 XmlDocument 复制到另一个 XmlDocument 的机制。调用返回的节点是源文档节点的副本,其中包括属性值、节点名、节点类型以及所有与命名空间相关的属性(如前缀、本地名称和命名空间 URI)。源文档不更改。导入该节点后,仍需使用插入节点的方法之一将该节点添加到树种。 节点附加到它的新文档后,它归此新文档所有。原因是每个节点在创建后都具有所属文档,即使节点是在单独的文档片段中创建的。这是 DOM 的要求并由 XmlDocument 类的工厂创建设计强制,例如,CreateElement 是创建新节点的唯一方法。 根据导入节点的节点类型和 deep 参数的值,将复制适当的附加信息。此方法尝试镜像当 XML 片段或 HTML 源从一个文档复制到另一个文档时的预期行为,以说明一个事实:对于 XML,两个文档可能具有不同的 DTD。 using System; using System.IO; using System.Xml; public class Sample { public static void Main() { //Create the XmlDocument. XmlDocument doc = new XmlDocument(); doc.LoadXml("<bookstore>" + "<book genre='novel' ISBN='1-861001-57-5'>" + "<title>Pride And Prejudice</title>" + "</book>" + "</bookstore>"); //Create another XmlDocument which holds a list of books. XmlDocument doc2 = new XmlDocument(); doc2.Load("books.xml"); //Import the last book node from doc2 into the original document. XmlNode newBook = doc.ImportNode(doc2.DocumentElement.LastChild, true); doc.DocumentElement.AppendChild(newBook); Console.WriteLine("Display the modified XML..."); doc.Save(Console.Out); } } 另一种: XmlDocument aDoc; XmlDocument bDoc; aDoc = new XmlDocument(); bDoc = new XmlDocument(); aDoc.Load("a.xml"); bDoc.Load("b.xml"); aDoc["root"].InnerXml = bDoc["root"].InnerXml;  

你可能感兴趣的:(xml将现有节点从一个文档复制到另一个文档)