Сравнение XML-файлов

Можно использовать инструмент Comparison, чтобы сравнить пару текстовых файлов XML. Инструмент обрабатывает результаты в отчет, что можно использовать, чтобы исследовать различия в файле. Можно сравнить XML-файлы с текстовым сравнением или иерархическим сравнением XML.

Можно получить доступ к инструменту сравнения XML от Браузера текущей папки, Инструменту Сравнения или программно использованию функции visdiff.

Сравнение XML сравнивает файлы с помощью алгоритма “Chawathe”, как описано в данной статье:

Измените Обнаружение в Иерархически Структурированной информации, Sudarshan Chawathe, Ананде Рэджарамене и Дженнифер Уидом; Конференция SIGMOD, Монреаль, Канада, июнь 1996, стр 493-504.

Эти труды конференции на основе работы, опубликованной в 1 995: смотрите http://dbpubs.stanford.edu:8090/pub/1995-45.

Сравнение XML сообщает об отображении в Инструменте Сравнения. Для получения дополнительной информации об Инструменте Сравнения, смотрите, Сравнивают Файлы и Файлы Слияния и Папки.

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

Если файлы идентичны, вы видите, что сообщение сообщает, что нет никаких различий.

Примечание

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

Изменитесь обнаружение в анализе Chawathe основано на алгоритме выигрыша. Элементы соответствуют, если их счет Chawathe выше порога. Реализация алгоритма Чауозэ использует шаблон сравнения, который задает пороги.

Выбор XML Files to Compare

От браузера текущей папки

Сравнить два файла от Браузера текущей папки:

  • Для двух файлов в той же папке выберите файлы, щелкните правой кнопкой и выберите Compare Selected Files/Folders.

  • Сравнить файлы в различных папках:

    1. Выберите файл, щелкните правой кнопкой и выберите Compare Against

    2. Выберите второй файл, чтобы выдержать сравнение в Выборе файлов или Папках для диалогового окна Comparison.

    3. Выберите тип Сравнения XML text comparison.

    4. Нажмите Compare.

Инструмент сравнения XML выполняет анализ Chawathe файлов и отображает отчет в Инструменте Сравнения. Файл вы щелкаете правой кнопкой, чтобы открыть отображения инструмента сравнения XML на правой стороне отчета.

Для получения дополнительной информации о сравнениях других типов файлов с Инструментом Сравнения, таких как текст, MAT или двоичный файл, видит, Сравнивают Файлы и Файлы Слияния и Папки.

Сравнение от инструмента сравнения

Чтобы сравнить файлы с помощью Инструмента Сравнения, от панели инструментов MATLAB®, в Разделе файла, выбирают Кнопку "Сравнить". В диалоговом окне выберите файлы, чтобы выдержать сравнение.

Если файлы, которые вы выбираете, чтобы выдержать сравнение, являются XML-файлами, и вы выбираете XML text comparison, инструмент сравнения XML выполняет анализ Chawathe XML-файлов и генерирует отчет.

Сравнение из командной строки

Чтобы сравнить XML-файлы из командной строки, войти

visdiff(filename1, filename2, 'xml')

где filename1 и filename1 являются XML-файлами.

Изменение типа сравнения

Если вы задаете два XML-файла, чтобы сравнить использование или Браузер текущей папки или функция visdiff, то Инструмент Сравнения выполняет тип сравнения по умолчанию для выбранных файлов. Можно сравнить XML-файлы с текстовым сравнением или иерархическим сравнением XML.

Чтобы изменить тип сравнения, или создать новое сравнение из Инструмента Сравнения, или используют Сравнивание С опцией от Браузера текущей папки. Можно изменить тип сравнения в Выборе файлов или Папках для диалогового окна Comparison. Выберите XML text comparison перед нажатием Compare.

Навигация по отчету сравнения XML

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

Чтобы продвинуться через различия, используйте вкладку Comparison на панели инструментов. Чтобы переместиться к следующей или предыдущей группе различий, на вкладке Comparison, в разделе Navigate, кликают по кнопкам стрелки, чтобы перейти к предыдущему или следующему различию.

Можно также щелкнуть, чтобы выбрать элементы в иерархических деревьях.

  • Выбранные пункты кажутся подсвеченными в поле.

  • Если выбранный пункт является частью совпадающей пары, это подсвечено в поле в обоих левых и правых деревьях.

Сообщите, что выделение элемента указывает на природу каждого различия можно следующим образом:

Тип элемента отчетаВыделениеПримечания
ИзмененныйРозовыйИзмененные элементы являются соответствующими парами, которые отличаются между этими двумя файлами. Когда вы выбираете измененный элемент, он подсвечен в поле в обоих деревьях.
Измененные параметры для выбранной пары отображены внизу. Если текст является слишком длинным, чтобы отобразиться, выберите Compare, чтобы открыть новое сравнение параметров.
НесопоставленныйЗеленыйКогда вы выбираете несопоставленный элемент, он подсвечен в поле в одном дереве только.
Контейнер'none'Строки без выделения указывают на контейнерный элемент, который содержит другие измененные или несопоставленные элементы.

Используйте вкладку Comparison для следующих функций:

  • Обновление — Выполнение анализ Chawathe снова, чтобы обновить отчет сравнения.

  • Подкачайте Стороны — стороны Подкачки и повторно выполните сравнение. Запускает анализ Chawathe снова.

  • Сохраните как>, HTML — Открывает диалоговое окно Save, где можно принять решение сохранить версию для печати отчета сравнения XML. Отчет является неинтерактивным документом HTML различий, обнаруженных алгоритмом Chawathe для печати или архивации записи сравнения.

  • Сохраните как> Переменная Рабочей области — Экспорт результаты сравнения XML к рабочей области.

  • В разделе Navigate кликните по кнопкам стрелки (или нажмите клавиши Up или Down) переходить к предыдущему различию или переходить к следующему различию.

  • Сравните Выбрал Parameter — Открывают новый отчет для в настоящее время выбранной пары параметров. Используйте это, когда отчет не сможет отобразить все подробности в панели Параметров, e. g., длинные векторы символов или скрипт.

Используйте средства управления вкладкой View на панели инструментов для следующих функций:

  • Расширьтесь Все — Расширяют каждый элемент в дереве.

    Совет

    Щелкните правой кнопкой, чтобы расширить или свернуть иерархию в выбранном древовидном узле.

  • Сверните Все — Коллапсы все элементы в дереве к самому компактному возможному представлению.

Примечание

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

Сохранение файлов журнала сравнения в zip-файле

Временные файлы сравнения XML накапливаются в tempdir/MatlabComparisons/XMLComparisons/TempDirs/. Эти временные файлы удалены, когда вы закрываете связанный отчет сравнения.

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

xmlcomp.zipTempFiles('c:\work\myexportfolder')

Папка назначения должна существовать. Вывод сообщает об имени zip-файла:

Created the zipfile "c:\work\myexportfolder\20080915T065514w.zip"

Чтобы просмотреть файл журнала для последнего сравнения в редакторе MATLAB, войдите:

xmlcomp.showLogFile

Результаты экспорта к рабочей области

К экспорту сравнение XML заканчивается к базовому рабочему пространству MATLAB,

  1. На вкладке Comparison, в разделе Comparison, выбирают Save As> Save to Workspace.

    Диалоговое окно Input Variable Name появляется.

  2. Задайте имя для объекта экспорта в диалоговом окне и нажмите ОК. Это действие экспорт результаты сравнения XML с объектом xmlcomp.Edits в рабочей области.

Объект xmlcomp.Edits содержит информацию о сравнении XML включая имена файлов, примененные, и иерархические узлы фильтров, которые отличаются между этими двумя XML-файлами.

Чтобы создать объект xmlcomp.Edits в командной строке, не открывая Инструмент Сравнения, войдите:

Edits = xmlcomp.compare(a.xml,b.xml) 

Свойство xmlcomp.EditsОписание
FiltersМассив массивов структур фильтра. Каждая структура имеет два поля, Имя и Значение.
LeftFileNameИмя файла левого файла экспортировано в XML.
LeftRootОбъект xmlcomp.Node, который ссылается на корень левого дерева.
RightFileNameИмя файла правильного файла экспортировано в XML.
RightRootОбъект xmlcomp.Node, который ссылается на корень правильного дерева.
TimeSavedВремя, когда результаты, экспортируемые в рабочую область.
ВерсияMathWorks® специфичный для релиза номер версии объекта xmlcomp.Edits.
Свойство xmlcomp.NodeОписание
ChildrenМассив ссылок xmlcomp.Node на дочерние узлы, если таковые имеются.
EditedБулевская переменная — Если Edited = true затем узел или вставляется (зеленый) или часть измененной совпадающей (розовой) пары.
ИмяИмя узла.
ПараметрыМассив массивов структур параметра. Каждая структура имеет два поля, Имя и Значение.
ParentСсылка xmlcomp.Node, чтобы породить узел, если таковые имеются.
PartnerЕсли соответствующий, Partner является ссылкой xmlcomp.Node на совпадающий узел партнера в другом дереве. В противном случае пустой [].

Похожие темы

Была ли эта тема полезной?