与特定属性匹配的Diff XML

时间:2010-03-25 10:15:17

标签: xml sorting diff

我有一个工具生成的XML数据,我想对同一工具先前创建的数据进行区分。问题是该工具可能会重新排序XML数据中的元素,因此我需要一些方法来告诉diff工具将其匹配基于元素的一个或多个属性。我可以访问Beyond Compare 2,但无法设置任何执行此操作的规则。在将数据提供给diff工具之前,我已经考虑过进行某种XML转换来对元素进行排序,但这并不是一个好的解决方案。

所以我的问题是,是否有人可以提供一个工具的提示,可以执行差异或一个好的方法来排序数据,以便它适合与Beycond比较使用?下面是XML数据的一个小例子。

<document Model="Model 1" UUID="e795782b-6be0-4c4a-9a23-217a96fef230">
    <Target Name="Example target" UUID="bed4836e-1868-4997-9537-d98a182e7311" >
        <Thread Name="Thread 1" UUID="199e8627-db04-4e7c-9643-bb4eeb2faf11"></Thread>       
        <Thread Name="Thread 2" UUID="366c9fe5-790a-44fd-bbae-e91fa2faeaaf"></Thread>
        <Mutex Name="Mutex 1" UUID="23423434-324a-2344-2343-423423423423"></Mutex>
        <Mutex Name="Mutex 2" UUID="230d2068-2367-7955-4567-345902904590"></Mutex>
    </Target>
</document>

1 个答案:

答案 0 :(得分:1)

如果您使用Java,那么使用XMLUnit就可以使用一个名为XmlDiff的对象......