[英]Merging two xml files LINQ
I have problem merging two XML files. 我在合并两个XML文件时遇到问题。 I loaded both files into two objects, located the target nodes in both objects and tried to merge. 我将两个文件都加载到两个对象中,在两个对象中都找到了目标节点,然后尝试合并。
Here is a sample: 这是一个示例:
var nodes1 = XResult1.Descendants("subject");
var nodes2 = XResult2.Descendants("subject");
//nodes1.Add(nodes2.Nodes());
// * Code to merge** Can somebody pls help me. // *要合并的代码**有人可以帮我吗。 Thanks in advance... BB 预先感谢... BB
Here is my XResult1: 这是我的XResult1:
<subjects> <subject> <node id="1"> Hi </node> <node id="2"> Hi again </node> <node id="3"> Hi once more </node> </subject> </subjects>
Here is my XResult2 : 这是我的XResult2:
<subjects> <subject> <node id="4"> Hello </node> <node id="5"> Hello again </node> </subject> </subjects>
And my final Result should be : 我的最终结果应该是:
<subjects> <subject> <node id="1"> Hi </node> <node id="2"> Hi again </node> <node id="3"> Hi once more </node> <node id="4"> Hello </node> <node id="5"> Hello again </node> </subject> </subjects>
You want to change: 您要更改:
XResult1.Descendants("subjects").FirstOrDefault();
XResult2.Descendants("subjects").FirstOrDefault();
to 至
XResult1.Descendants("subject").FirstOrDefault();
XResult2.Descendants("subject").FirstOrDefault();
Here is a more complete example: 这是一个更完整的示例:
XDocument document = XDocument.Load(@"C:\XResult1.xml");
XElement subjectElement = document.Descendants("subject").FirstOrDefault();
XDocument document2 = XDocument.Load(@"C:\XResult2.xml");
XElement subjectElement2 = document2.Descendants("subject").FirstOrDefault();
subjectElement.Add(subjectElement2.Nodes());
如果要合并subject
元素内的元素,则需要在树中进一步下移,因此将nodes1
和nodes2
设置为以下内容:
XElement nodes2 = XResult2.Descendants("subjects").Descendants("subject").FirstOrDefault();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.