• 合并 XML 文件


    问题:
    有如下的两个 XML 文件,将其合并为一个 XML 文档,并输出。
    第一个 XML 文档
    <?xml version="1.0" encoding="utf-8"?>
    <root>
    <a>A</a>
    <b>B</b>
    </root>
     第二个 XML 文档
    <?xml version="1.0" encoding="utf-8"?>
    <root>
    <b>B</b>
    </root>
    要点:
    对于 XML 文档中的节点,除了通常的 ParentNode, PreviousSibling, NextSibling , FirstChild, LastChild属性等之外,还有一个重要的属性 OwnerDocument, 表示节点所属的文档对象,这是一个只读的属性,不能直接赋值。
    要改变节点所属的文档,可以使用目标文档对象的 ImportNode 来改变节点所属的文档,这个方法的定义如下:
    public virtual XmlNode ImportNode(
    	XmlNode node,
    	bool deep
    )
    
    deep 表示 是否将节点的子节点也导入到当前文档。
    代码:
    using System;
    using System.Xml;
    
    namespace XmlAppand
    {
        class Program
        {
            static void Main(string[] args)
            {
                XmlDocument doca = new XmlDocument();
                doca.Load("A.xml");
    
                XmlDocument docb = new XmlDocument();
                docb.Load("B.xml");
                
                // 分别获取两个文档的根元素,以便于合并
                XmlElement rootA = doca.DocumentElement;
                XmlElement rootB = docb.DocumentElement;
    
                // 创建一个合并的 document
                XmlDocument result = new XmlDocument();
                // 创建根元素
                XmlElement root = result.CreateElement("root");
                result.AppendChild(root);
    
                foreach (XmlNode node in rootA.ChildNodes)
                {
                    // 先导入节点
                    XmlNode n = result.ImportNode(node, true);
                    // 然后,插入指定的位置
                    root.AppendChild(n);
                }
    
                // 同上
                foreach (XmlNode node in rootB.ChildNodes)
                {
                    XmlNode n = result.ImportNode(node, true);
                    root.AppendChild(n);
                }
    
                result.Save(Console.Out);
            }
        }
    }
    
     
  • 相关阅读:
    中国机读目录格式(CNMARC)
    smarty截取中文字符乱码问题?gb2312utf8
    smarty模板截取字符串乱码问题完美解决```````
    marc数据
    smarty精品教程三(高级篇)
    中国机读目录格式(CNMARC)附录
    smarty精品教程二(高级篇)
    QuickSkin简明教程
    smarty精品教程四(高级篇)可下载实例
    maven学习指南
  • 原文地址:https://www.cnblogs.com/haogj/p/2013824.html
Copyright © 2020-2023  润新知