2010-03-25 3 views
1

У меня есть XML-данные, созданные инструментом, который я хочу отличить от данных, созданных ранее одним и тем же инструментом. Проблема в том, что инструмент может изменять порядок элементов в XML-данных, и поэтому мне нужно каким-то образом сказать, что инструмент diff основывает свое соответствие на одном или нескольких атрибутах элементов. У меня есть доступ к Beyond Compare 2, но я не смог настроить какое-либо правило, которое это делает. Я рассмотрел возможность сделать какое-то преобразование XML для сортировки элементов, прежде чем передавать данные в инструмент diff, но это не похоже на хорошее решение.Diff XML, сопоставляемый определенным атрибутом

Итак, мой вопрос в том, может ли кто-нибудь дать советы по инструменту, который может выполнить diff или хороший способ сортировки данных, чтобы он стал подходящим для использования с Beycond Compare? Ниже приведен небольшой пример 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

Если вы используете Java хороший хак будет использовать XMLUnit у них есть объект под названием XmlDiff ...

+0

Я посмотрел на XMLUnit и, казалось, чтобы иметь возможность делать то, что я хочу. Я также нашел инструмент под названием ExamXML (а не freeware), который я оцениваю на данный момент. – 2010-03-31 11:36:01

Смежные вопросы