C#如何将一个XML文档的片段导入另一个文档

admin 百科 14
在C#中跨XML文档导入节点须用XmlDocument.ImportNode避免异常,深拷贝后挂载到目标位置;命名空间需显式声明;新项目推荐XDocument自动处理上下文适配。

C#如何将一个XML文档的片段导入另一个文档-第1张图片-佛山资讯网

在C#中将一个XML文档的片段导入另一个文档,核心是**避免字符串拼接,而是用DOM节点操作保证格式和编码正确**。关键在于:源片段要被“导入”(ImportNode)到目标文档的上下文中,否则直接附加会抛出InvalidOperationException(“节点不属于此文档”)。

使用XmlDocument.ImportNode导入节点

ImportNode是跨文档操作的标准方式,它把源节点复制一份、适配到目标文档的命名空间和类型体系中。

  • 调用targetDoc.ImportNode(sourceNode, true)——第二个参数true表示深拷贝(包含所有子节点)
  • 再用AppendChildInsertBefore等方法将导入后的节点挂到目标位置
  • 注意:sourceNode必须来自XmlDocument,不能是XElement或字符串解析的临时节点(除非也用XmlDocument.LoadXml加载)

完整示例:把fragment.xml中的插入到main.xml的

// 假设 fragment.xml 内容为 Test

// main.xml 已加载,且根元素为

标签: node 编码 app ai c# 字符串解析 .net

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~