如何将XmlNode从一个XmlDocument复制到另一个XmlDocument?
问题描述:
我正在构建一个作者/编辑XML文件的工具,我希望能够使用另一个XML文件中定义的模板片段来填充它。如何将XmlNode从一个XmlDocument复制到另一个XmlDocument?
例如,该工具具有一个“添加FooBarBaz元素”按钮,该元素添加一个元素到正在创建的新文档中,并且我想通过从模板复制FooBarBaz来添加元素。
还是让我们说这是我的模板文件:
<Templates>
<FooBarBaz Attribute="Value">
<ChildElement/>
</FooBarBaz>
</Templates>
我可以再抢用.GetElementsByTagName(“FooBarBaz”)的模板片段,我希望能够把它注入新像.AppendChild(templateNode)这样的文件。
但问题是,一个XmlNode不能)复制从一个XmlDocument的另一个,即使您使用.Clone()或.CloneNode(因为使用appendChild()抛出一个异常,称该模板元素属于另一个上下文。
是否有一种简单的方法可以在System.Xml.XmlDocuments之间复制System.Xml.XmlNode?