哇比较C#中两个不同xml文件的元素?只需要比较元素名称而不是元素值。
我正在使用:
XDocument file1 = XDocument.Load(dest_filename);
XDocument file2 = XDocument.Load(source_filename);
if (file1.Nodes().Intersect(file2.Nodes()).Count() > 0)
{
MessageBox.Show("hey i popped up");
}
但它也在比较价值,我不想比较..
答案 0 :(得分:0)
鉴于file1.xml:
<root>
<a></a>
<b></b>
<c></c>
</root>
和file2.xml:
<root>
<a></a>
<b></b>
<b></b>
<c></c>
<d></d>
</root>
以下代码将生成四个消息框(对于节点a,b,b和c)
XDocument doc = XDocument.Load(System.IO.Path.GetFullPath("file1.xml"));
XDocument doc2 = XDocument.Load(System.IO.Path.GetFullPath("file2.xml"));
var matches = from a in doc.Element("root").Descendants()
join b in doc2.Element("root").Descendants() on a.Name equals b.Name
select new { First = a, Second = b };
foreach (var n in matches)
MessageBox.Show(n.First.ToString() + " matches " + n.Second.ToString());
希望有所帮助:)