Сравнение 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. Выберите Comparison type XML text comparison.

    4. Нажмите Compare.

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

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

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

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

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

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

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

visdiff(filename1, filename2, 'xml')

где filename1 и filename1 XML-файлы.

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

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

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

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

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

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

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

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

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

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

Тип элемента отчетаВыделениеПримечания
МодифицированныйФиолетовый

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

ВставленныйСиний

Когда вы выбираете несопоставленный элемент, он подсвечен в поле в одном дереве только.

УдаленныйЖелтый
Контейнер'none'

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

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

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

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

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

  • Save As> Workspace Variable — Экспорт сравнение XML заканчивается к рабочей области.

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

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

Используйте средства управления вкладкой 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> Workspace variable.

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

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

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

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

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

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

Похожие темы