合并两个XML文件LINQ [英] Merging two xml files LINQ
本文介绍了合并两个XML文件LINQ的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有问题,合并两个XML文件。
我装这两个文件到两个对象,位于这两个对象目标节点,并试图合并。
下面是一个例子:
VAR nodes1 = XResult1.Descendants (学科);
VAR nodes2 = XResult2.Descendants(主体);
//nodes1.Add(nodes2.Nodes());
// *代码合并**
能有人请帮助我。提前
谢谢... BB
下面是我的XResult1:
<题材与GT;
<个体GT;
<节点ID =" 1 QUOT;>
嗨
< /节点>
将;节点ID = QUOT; 2英寸;>
嗨再次
< /节点>
将;节点ID = QUOT; 3英寸;>
嗨一次
< /节点>
< /受试者GT;
< /科目>
下面是我的XResult2:
<题材与GT;
<个体GT;
将;节点ID = QUOT; 4英寸;>
你好
< /节点>
将;节点ID = QUOT; 5英寸;>
您好再次
< /节点>
< /受试者GT;
< /科目>
和我最后的结果应该是:
<题材与GT;
<个体GT;
<节点ID =" 1 QUOT;>
嗨
< /节点>
将;节点ID = QUOT; 2英寸;>
嗨再次
< /节点>
将;节点ID = QUOT; 3英寸;>
嗨一次
< /节点>
将;节点ID = QUOT; 4英寸;>
你好
< /节点>
将;节点ID = QUOT; 5英寸;>
您好再次
< /节点>
< /受试者GT;
< /科目>
解决方案
您想更改:
XResult1.Descendants(科)FirstOrDefault()。
XResult2.Descendants(科)FirstOrDefault()。
到
XResult1.Descendants(主体)FirstOrDefault()。
XResult2.Descendants(主体)FirstOrDefault()。
下面是一个更完整的例子:
的XDocument文档= XDocument.Load(@C:\XResult1.xml);
的XElement subjectElement = document.Descendants(主体)FirstOrDefault()。
的XDocument书2 = XDocument.Load(@C:\XResult2.xml);
的XElement subjectElement2 = document2.Descendants(主体)FirstOrDefault()。
subjectElement.Add(subjectElement2.Nodes());
I have problem merging two XML files. 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
Here is my 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 :
<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());
这篇关于合并两个XML文件LINQ的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文