我正在构建一个编写/编辑
XML文件的工具,我希望能够使用另一个XML文件中定义的模板片段填充它.
例如,该工具有一个“Add FooBarBaz Element”按钮,它为正在创建的新文档添加一个元素,我想通过从模板中复制它来添加FooBarBaz.
或者说这是我的模板文件:
<Templates> <FooBarBaz Attribute="Value"> <ChildElement/> </FooBarBaz> </Templates>
然后,我可以使用.GetElementsByTagName(“FooBarBaz”)获取模板片段,并且我希望能够使用.AppendChild(templateNode)将其注入到新文档中.
但问题是,即使您使用.Clone()或.CloneNode(),也无法将XmlNode从一个XmlDocument复制到另一个XmlDocument,因为AppendChild()会抛出一个异常,说明该模板元素属于另一个上下文.
有没有一种简单的方法可以在System.Xml.XmlDocuments之间复制System.Xml.XmlNode?