在合并两个XML文件之前添加根目录

问题描述:

我得到了两个XML文件,并创建了一个新文件,其中包含两个文件。这里的问题是,两者都有不同的根节点,当两者都合并在一起时,我实际上收到了我想要做的事情,但是有两个不同的根节点,并且这些节点不符合XML。那么如何在插入其他节点之前添加默认节点?在合并两个XML文件之前添加根目录

的结构是这样的:

文件1:

<rootFile1> 
    //dataFile1 
</rootFile1> 

文件2:

<rootFile2> 
    //dataFile2 
</rootFile2> 

结合起来:

//missing root 
    <rootFile1> 
    //dataFile1 
    </rootFile1> 
    <rootFile2> 
    //dataFile2 
    </rootFile2> 
//missing root 

我需要一个包装点这里,用于组合文件。

我的代码看起来是这样的:提前

XmlTextReader xmlreader1 = new XmlTextReader(@"N:\File.xml"); 
    XmlTextReader xmlreader2 = new XmlTextReader(@"N:\File2.xml"); 

    using (var output = System.IO.File.Create(@"N:\OutputFile.xml")) 
    { 
     XElement root = new XElement("root"); 
     foreach (var file in new[] { @"N:\File.xml", @"N:\File2.xml" }) 
     { 
      using (var input = System.IO.File.OpenRead(file)) 
      { 
       input.CopyTo(output); 
      } 
     } 
     root.Add(output); 
    } 

感谢,感激不尽。

试试这个代码:

XDocument doc1 = XDocument.Load("N:\File.xml"); 
XDocument doc2 = XDocument.Load("N:\File2.xml"); 
XDocument merged = new XDocument(new XElement("root", doc1.Root, doc2.Root)); 
merged.Save("N:\Merged.xml"); 
+0

感谢。比预期的更容易。 – Alika87