【问题标题】:inclusion of xml file in c#在c#中包含xml文件
【发布时间】:2016-02-17 11:33:09
【问题描述】:

这是我的问题,我有两个 xml 文件,我想在父文件中包含子文件以查看如下

父亲

<?xml version="1.0" encoding="UTF-8"?>
<topolino.doc name="topolino.doc" type="doc" path="C:\Users\" filename="topolino.doc">
    <child.xml type="xml" name="child.xml" path="C:\" filename="child.xml" />
</topolino.doc>

孩子

<?xml version="1.0" encoding="UTF-8"?>
<adeel.doc name="adeel.doc" type="doc" path="C:" filename="adeel.doc">
  <pippo.doc type="doc" name="pippo.doc" path="C:" filename="pippo.doc" />
</adeel.doc>

结果

<?xml version="1.0" encoding="UTF-8"?>
<topolino.doc name="topolino.doc" type="doc" path="C:\Users\" filename="topolino.doc">
   <adeel.doc name="adeel.doc" type="doc" path="C:" filename="adeel.doc">
   <pippo.doc type="doc" name="pippo.doc" path="C:" filename="pippo.doc" />
</adeel.doc>
</topolino.doc>

最好的方法是什么?

提前谢谢安迪

【问题讨论】:

  • 我只是使用 LINQ to XML,然后你可以使用 fatherDoc.Root.Add(childDoc.Root)...

标签: c# xml include append


【解决方案1】:
string strParent=@"<?xml version=""1.0"" encoding=""UTF-8""?> 
                            <topolino.doc name=""topolino.doc"" type=""doc"" path=""C:\Users\"" filename=""topolino.doc""> \
                                <child.xml type=""xml"" name=""child.xml"" path=""C:\"" filename=""child.xml"" />
                            </topolino.doc>";

        string strChild = @"<?xml version=""1.0"" encoding=""UTF-8""?>
                        <adeel.doc name=""adeel.doc"" type=""doc"" path=""C:"" filename=""adeel.doc"">
                          <pippo.doc type=""doc"" name=""pippo.doc"" path=""C:"" filename=""pippo.doc"" />
                        </adeel.doc>";
        XmlDocument docParent = new XmlDocument();
        docParent.LoadXml(strParent);
        XmlDocument docChild = new XmlDocument();
        docChild.LoadXml(strChild);
        //docParent.AppendChild(docChild.ChildNodes.Item(0));
        var n = docParent.ImportNode(docChild.SelectSingleNode("adeel.doc"), false);
        var n1 = docParent.ImportNode(docChild.ChildNodes[1].SelectSingleNode("pippo.doc"), true);
        docParent.DocumentElement.AppendChild(n);
        docParent.DocumentElement.AppendChild(n1);

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    相关资源
    最近更新 更多