用于XML结构比较的C#API

时间:2015-11-04 11:35:59

标签: c# .net xml api

有没有办法以编程方式比较2个XML文件的结构,而不是它们的值?

更具体地说,如果你有2个xml文件:

<car>
<numberofwheels>4</numberofwheels>
<carcolor color="red" dateofpainting="2015-10-10" />
</car>

<car>
<numberofwheels>7</numberofwheels>
<carcolor color="blue" />
</car>

它只会注意到属性dateofpainting缺失,而不是值的更改(numberofwheelscolor)。我也不关心空白,换行符,属性顺序等......

Microsoft提供了一个XML Diff和Patch Tool,但据我所知,它还会检查xml值,你无法将其设置为忽略它们。

1 个答案:

答案 0 :(得分:0)

如果任何一个结构是预定义的,那么你可以使用XML模式找到不匹配。如果没有,那么你必须使用XMLDocument / XMLReader类逐节点遍历文档,你可以获得差异列表。