在合并两个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");
感谢。比预期的更容易。 – Alika87