用于XML结构比较的C#API
本文关键字:C#API 比较 结构 XML 用于 | 更新日期: 2023-09-27 18:20:27
有没有一种方法可以通过编程比较两个XML文件的结构,而不是它们的值?
更具体地说,如果您有两个xml文件:
<car>
<numberofwheels>4</numberofwheels>
<carcolor color="red" dateofpainting="2015-10-10" />
</car>
和
<car>
<numberofwheels>7</numberofwheels>
<carcolor color="blue" />
</car>
它只会注意到属性dateofpainting
丢失而不会注意到值(numberofwheels
和color
)的变化。我也不在乎空格、换行符、属性顺序等…
微软提供了一个XML Diff和Patch工具,但据我所见,它也会检查XML值,您不能将其设置为忽略它们。
如果任何一个结构是预定义的,那么您可以使用XML模式来查找不匹配的地方。如果没有,则必须使用XMLDocument/XMLReader类逐个遍历文档,然后才能获得差异列表。