Можно использовать инструмент 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 выше порога. Реализация алгоритма Чауозэ использует шаблон сравнения, который задает пороги.
Сравнить два файла от Браузера текущей папки:
Для двух файлов в той же папке выберите файлы, щелкните правой кнопкой и выберите Compare Selected Files/Folders.
Сравнить файлы в различных папках:
Выберите файл, щелкните правой кнопкой и выберите Compare Against
Выберите второй файл, чтобы выдержать сравнение в Выборе файлов или Папках для диалогового окна Comparison.
Выберите Comparison type
XML text comparison
.
Нажмите 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.
Чтобы продвинуться через различия, используйте вкладку Comparison на панели инструментов. Чтобы переместиться к следующей или предыдущей группе различий, на вкладке Comparison, в разделе Navigate, кликают по кнопкам стрелки, чтобы перейти к предыдущему или следующему различию.
Можно также щелкнуть, чтобы выбрать элементы в иерархических деревьях.
Выбранные пункты кажутся подсвеченными в поле.
Если выбранный пункт является частью совпадающей пары, это подсвечено в поле в обоих левых и правых деревьях.
Сообщите, что выделение элемента указывает на природу каждого различия можно следующим образом:
Тип элемента отчета | Выделение | Примечания |
---|---|---|
Измененный | Розовый | Измененные элементы являются соответствующими парами, которые отличаются между этими двумя файлами. Когда вы выбираете измененный элемент, он подсвечен в поле в обоих деревьях. Измененные параметры для выбранной пары отображены внизу. Если текст является слишком длинным, чтобы отобразиться, выберите Compare, чтобы открыть новое сравнение параметров. |
Несопоставленный | Зеленый | Когда вы выбираете несопоставленный элемент, он подсвечен в поле в одном дереве только. |
Контейнер | '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 на панели инструментов для следующих функций:
Развернуть все Расширяет каждый элемент в дереве.
Щелкните правой кнопкой, чтобы расширить или свернуть иерархию в выбранном древовидном узле.
Свернуть все Коллапсы все элементы в дереве к самому компактному возможному представлению.
Для анализа не может быть возможно обнаружить соответствия между ранее соответствующими разделами файлов, которые отличались слишком много.
Временные файлы сравнения 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,
На вкладке Comparison, в разделе Comparison, выбирают Save As> Workspace variable.
Диалоговое окно Input Variable Name появляется.
Задайте имя для объекта экспорта в диалоговом окне и нажмите OK. Это действие экспортирует результаты сравнения 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 | Время, когда результаты, экспортируемые в рабочую область. |
Version | MathWorks® специфичный для релиза номер версии объекта xmlcomp.Edits . |
Свойство xmlcomp.Node | Описание |
---|---|
Children | Массив ссылок xmlcomp.Node на дочерние узлы, если таковые имеются. |
Edited | Булевская переменная — Если Edited = true затем узел или вставляется (зеленый) или часть измененной совпадающей (розовой) пары. |
Name | Имя узла. |
Parameters | Массив массивов структур параметра. Каждая структура имеет два поля, Имя и Значение. |
Parent | Ссылка xmlcomp.Node , чтобы породить узел, если таковые имеются. |
Partner | Если соответствующий, Partner является ссылкой xmlcomp.Node на совпадающий узел партнера в другом дереве. В противном случае пустой [] . |