Есть ли свободные инструменты Xml Diff/Merge?

У меня есть несколько файлов конфигурации в моих .net-приложениях, которые я бы хотел объединить с элементами настроек приложения и т.д.

Я собирался начинать делать это вручную, как обычно, но думал, что где-то есть инструмент XML diff GUI.

Инструмент сможет перейти на уровень элемента для сравнения и отображения различий и т.д.

Однако Google не дал никаких существенных бесплатных результатов инструмента и никаких намеков на что-либо ценное.

Доступен ли такой инструмент? Это очень полезно? Бесплатно?

Спасибо заранее.:)

Edit:

Вот немного разъяснения функциональности, которая превратит мое скучное, утомительное ручное задание на 1 минуту, и упростит автоматизацию:

В KDiff3 вы можете выполнить diff/merge из целых каталогов. Существует иерархический diff, который является очень точным, удобным и понятным. Мне было интересно найти аналогичное решение, но вместо иерархии каталогов, иерархию элементов XML.

Если такого программного обеспечения с открытым исходным кодом нет, я рассматриваю возможность создания его на CodePlex для обеспечения этой функции.

Ответ 1

KDiff3 не является специфичным для XML, но он бесплатный. Это хорошая работа по сравнению и слиянию текстовых файлов.

Ответ 2

Взгляните на инструменты сравнения файлов, из которых я использую WinMerge. Он имеет возможность сравнивать XML-документы (вы можете включить предварительный фильтр DisplayXMLFiles).

DisplayXMLFiles.dll - Этот плагин красиво печатает XML файлы, вставляя вкладки и разрывы строк. Это полезно для файлов XML, которые не имеют возврата строк в удобных местах.

WinMerge in action

Смотрите также мою таблицу сравнения характеристик.

Ответ 3

Я понимаю, что эта ветка немного старая, и я уверен, что вы нашли решение к настоящему времени, но для будущих читателей я написал и выпустил приложение Windows, которое специально решает проблему сравнения и слияния XML файлов.

Проект: Merge может выполнять два и три способа сравнения и слияния любого XML файла (где два файла считаются независимыми версиями общего базового файла). Вы можете поручить ему идентифицировать элементы внутри входных файлов по значениям атрибутов или, кроме всего прочего, содержимым дочерних элементов.

Он полностью управляется через командную строку и может также генерировать текстовые отчеты, содержащие различия между файлами.

Project: Merge merging three XML files

Ответ 6

Хотя это не инструмент графического интерфейса, мои быстрые тесты показали, что diffxml имеет некоторые перспективы. Автор, похоже, подумал о сложностях представления различий для вложенных элементов стандартизованным способом (его спецификация языка DUL - Delta Update Language).

Установив и запустив свои инструменты, могу сказать, что вывод исходного текста довольно ясен и краток. Он не предлагает такую ​​же степень непосредственного восприятия, как инструмент графического интерфейса, но при условии, что выход стандартизирован как DUL, возможно, вы сможете это сделать и создать инструмент для создания визуального представления. Мне бы очень хотелось увидеть его.

В разделе "Ссылки" автора упоминается несколько других инструментов разнесения XML, но, как вы упомянули в своем сообщении, они все являются собственностью.

Ответ 7

Инструмент Pretty Diff был создан с учетом XML. Просто убедитесь, что вы нажмете опцию "разметка".

http://prettydiff.com/

Ответ 8

A7Soft предоставляет бесплатные инструменты и условно бесплатные инструменты сравнения XML:

http://www.a7soft.com

Ответ 10

Это механизм для java-разработчиков, но в нем есть демонстрационный интерфейс - вы можете его использовать: https://community.emc.com/docs/DOC-5042

Ответ 11

Я рекомендую вам использовать инструмент CodeCompare. Он поддерживает собственное выделение XML-данных, и это может быть хорошим решением для вашей задачи.