比较XML文件以确定c#中的差异

问题描述 投票:0回答:1

我一直在寻找,尽管有几种选择,但没有一个真的适合我当前的问题。

我得到两个XML文件,File1和File2,它们有“ User”节点,其子节点详细描述了诸如名称,年龄,地址等内容。从那里,我需要创建第三个XML File3,该XML File3专门包含在两个,同时保留“名称”节点以标识更改是由该用户完成的。

所以,如果我得到:

File 1:
<users>
 <user>
  <name>Marco</name>
  <height>1,76</height>
  <address>C:/ Far-away 34</address>
  <mail>marco@marco</mail>
 </user>
</users>

File 2:
<users>
 <user>
  <name>Marco</name>
  <height>1,80</height>
  <address>C:/ Far-away 34</address>
  <mail></mail>
 </user>
</users>

它应该使用以下命令吐出XML:

File 3:
<users>
 <user>
  <name>Marco</name>
  <height>1,80</height>
  <mail></mail>
 </user>
</users>

[我的主要复杂之处之一是,我没有被告知除“名称”之外还将存在哪些节点(或它们是否具有子节点)。

c# xml xml-parsing
1个回答
0
投票

您可以使用XElement类:https://docs.microsoft.com/en-gb/dotnet/csharp/programming-guide/concepts/linq/xelement-class-overview

将XML反序列化为XElement对象,然后可以一个一个地比较子节点。

© www.soinside.com 2019 - 2024. All rights reserved.