Как открыть xml-файл в читаемом виде?

Содержание:

Введение в XML¶

XML ( англ. eXtensible Markup Language) — расширяемый язык разметки,
предназначенный для хранения и передачи данных.

Простейший XML-документ выглядит следующим образом:

<?xml version="1.0" encoding="windows-1251"?>
<book category="WEB">
   <title lang="en">Learning XML</title>
   <author>Erik T. Ray</author>
   <year>2003</year>
   <price></price>
</book>

Первая строка — это XML декларация. Здесь определяется версия XML (1.0) и кодировка файла. На следующей строке описывается корневой элемент документа (открывающий тег). Следующие 4 строки описывают дочерние элементы корневого элемента ( , , , ). Последняя строка определяет конец корневого элемента (закрывающий тег).

Документ XML состоит из элементов (elements). Элемент начинается открывающим тегом (start-tag) в угловых скобках, затем идет содержимое (content) элемента, после него записывается закрывающий тег (end-teg) в угловых скобках.

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

Элементы могут содержать атрибуты, так, например, открывающий тег имеет атрибут , который принимает значение . Значения атрибутов заключаются в кавычки (двойные или ординарные).

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

Other Resources

There are so many resources related to XML that we can’t possibly list
them all here. This is a good thing, because it means XML is a
success! In addition to a history of the development of XML at W3C, there is an
extensive index at the Cover Pages,
maintained by Robin Cover. The individual Working Group public web pages may
have links to specific resources. There are Usenet newsgroups (e.g. comp.text.xml) and public mailing lists (e.g.
xml-dev).

You could also try a search engine such as for:

  • XML
    conferences
  • books
  • training
    courses
  • online
    tutorials
  • bibliographies
  • parsers (both
    proprietary and open source)
  • magazines
  • and even movies

Используйте CDATA, но не злоупотребляйте этим

XML налагает множество ограничений на использование определенных символов: кавычек, амперсандов, знаков «меньше» и «больше» и т.д. Однако на практике эти символы используются очень часто. Поэтому приходится либо преобразовывать все в безопасный для XML формат, либо помещать большие фрагменты текста, кода или еще чего-нибудь в блоки . Мне кажется, что разработчики избегают использования , поскольку думают, что это затруднит синтаксический анализ. Но разделы анализировать не труднее, чем что-либо другое – большинство DOM-анализаторов обрабатывает их самостоятельно, поэтому вам даже не нужно думать об этом.

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

Почему же не использовать разделы постоянно? Потому что они очень затрудняют чтение документа. Это особенно неприятно, когда в них нет необходимости. Итак, используйте их и поощряйте их использование пользователями ваших XML-файлов в тех ситуациях, когда данные, по вашему мнению, будут содержать специальные символы и когда нужно сохранить первоначальное форматирование. Но не используйте CDATA в прочих ситуациях.

Средства сравнения XML

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

<oXygen/> XML Diff & Merge может сравнивать файлы, каталоги и ZIP-архивы. После загрузки в программу исходного и целевого документов отображаются выделенные цветом различия; изменения в исходном и целевом файлах можно редактировать. Программа имеет много встроенных алгоритмов сравнения и способна автоматически выбирать алгоритмы на основе содержимого документа и его размера. Программа может выполнять пословное и посимвольное сравнение. При сравнении каталогов и архивов за основу сравнения можно выбрать следующие параметры:

  • Временная отметка.
  • Содержимое.
  • Двоичное сравнение.

Liquid XMLDiff имеет много специфичных для XML функций, например, удаление пробелов, комментариев и директив процессора. Эта программа достаточно функциональна, чтобы спрогнозировать, являются ли элементы новыми, удаленными или перемещенными. Программа доступна также в составе Liquid XML Studio в редакции для дизайнера и разработчика.

ExamXML – это мощное средство визуального сравнения и синхронизации различий между XML-документами. Входным XML для сравнения может быть либо файл, либо поле из базы данных. ExamXML может также сравнивать и сохранять части XML-документа; также можно выполнять импорт или экспорт из документов Microsoft Excel. ExamXML работает на различных версиях Microsoft Windows. Другие функциональные возможности:

  • Проверка корректности XML на соответствие DTD и XML-схеме.
  • Нормализация дат и чисел.
  • Поддержка drag-and-drop.
  • XML-документы отображаются в виде дерева.

DeltaXML позволяет искать, сравнивать, соединять и синхронизировать изменения в XML-документах. Поддерживает Java API, что облегчает программное сравнение XML-документов. Может работать с большими файлами. Программа может выдавать дельта-файл с результатами сравнения. Этот файл можно отобразить непосредственно либо использовать XSL; можно обработать этот файл в других XMKL-программах. Программа DeltaXML Sync может сравнивать три XML-документа и визуализировать различия. Кроме функции сравнения XML-документов, имеет несколько инструментов форматирования:

  • Сравнение DeltaXML DITA.
  • Сравнение DeltaXML DocBook.
  • Сравнение DeltaXML ODT.
  • Слияние DeltaXML ODT.

Чем открыть файл в формате XML

Файл XML (полн. eXtensible Markup Language) – самый распространенный формат представления данных, используемый как инструмент для установления объектов и значений их атрибутов с помощью тегов.

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

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

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

Так, например, первая строка любого XML документа – это запись, декларирующая версию языка XML.

Обязательное условие соблюдения синтаксиса языка заключается в наличии начального и конечного корневых тегов. Основной блок XML документа – ряд вложенных элементов, также состоящих из открывающего и закрывающего тегов.

Формат XML применяется не только на платформе ОС Windows, Mac и Linux, но также используется и для работы на мобильных устройствах в ОС Android.

Программа для открытия XML

Расширение XML является одним из самых адаптированных и поддерживает работу на платформе всего комплекса ОС с применением самого разнообразного программного обеспечения.

Среди других программных компонентов, которые поддерживают работу с XML документами (которыми также можно открыть XML онлайн) можно отметить:

Данные программы с большим процентом вероятности откроют и позволят произвести редактирование любого XML документа.

Конвертация XML в другие форматы

XML формат неприхотлив для конвертации в самые многочисленные расширения (в том числе, xml онлайн конвертеры) .

Удобный пользовательский интерфейс данного конвертора допускает одновременную конвертацию целого пакета XML документов.

Почему именно XML и в чем его достоинства?

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

Другие похожие форматы и расширения файлов

Как открыть XML-файл

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

Используйте текстовый редактор при регулярной работе с XML

Поскольку XML-файлы – это просто текстовые файлы, их можно открыть в любом текстовом редакторе. Однако, многие текстовые редакторы, такие как Notepad, просто не предназначены для отображения XML-файлов с их правильной структурой. Это может быть полезно для быстро ознакомления с содержанием XML-файла. Но, существуют более удобные инструменты для работы с ними.

  1. Щелкните правой кнопкой мыши файл XML, который вы хотите открыть, выберите Открыть с помощью в контекстном меню, а затем выберите Блокнот.

    Примечание: мы используем Windows, но то же самое справедливо и для других операционных систем. Найдите хороший сторонний текстовый редактор, предназначенный для поддержки XML-файлов.

  2. Файл открывается, но, как вы можете видеть, он теряет большую часть своего форматирования и записывает всё в две строки.
  3. Таким образом, блокнот может быть полезен для быстрой проверки XML-файла. Но, гораздо удобнее использовать более продвинутый инструмент, такой как Notepad++, который подсвечивает синтаксис и формат файла, как это можно ожидать.

    Вот тот же XML-файл, открытый в Notepad++

Использование веб-браузера для просмотра XML-файла

Если Вам не нужно редактировать XML-файл, но просто нужно просмотреть содержимое, с этой задачей справиться ваш браузер. Более того, ваш веб-браузер, скорее всего, уже настроен как стандартное средство просмотра XML-файлов. Таким образом, двойной щелчок XML-файла должен открыть его в браузере.

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

Когда файл откроется, вы должны увидеть хорошо структурированные данные. Это не так красиво, как цветной вид, который вы получаете в Notepad++, но гораздо лучше, чем блокнот.

Использование онлайн-редактора для XML-файлов

Если вы хотите редактировать случайный XML-файл и не хотите загружать новый текстовый редактор, или Вам нужно конвертировать XML-файл в другой формат, существует несколько достойных онлайн-редакторов XML, доступных бесплатно.

Для примера используем CodeBeautify.org. Страница разделена на три раздела. Слева находится XML-файл, с которым вы работаете. В середине вы найдете несколько функций. Справа вы увидите результаты некоторых вариантов, которые вы можете выбрать.

Например, на рисунке ниже слева находится наш полный XML-файл, а на панели результатов отображается представление в виде дерева, так как мы нажали кнопку Tree View посередине.

Используйте кнопку Browse для загрузки XML-файла с вашего компьютера или кнопку Load URL для извлечения XML из интернет-источника

Кнопка Tree View отображает данные в хорошо отформатированной древовидной структуре на панели результатов, со всеми тегами, выделенными оранжевым цветом, и атрибутами справа от тегов.

Beatify отображает ваши данные в аккуратном, легко читаемом виде.

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

И, наконец, Вы можете использовать кнопку XML to JSON для преобразования XML в формат JSON, и кнопку Export to CSV для сохранения данных в виде файла значений, разделенных запятыми, или кнопку Download для загрузки любых изменений, которые вы сделали в новом XML-файле.

Нумеруйте версии

Очень легко упустить из виду тот факт, что XML, хранящийся в файлах, эквивалентен формату файла. Первое, что должен содержать файл любого формата, – это номер версии. Его достаточно легко добавить: . Код, выполняющий чтение файла, должен проверить, что номер версии не больше его текущей версии, и сгенерировать исключительную ситуацию, если это не так. Это гарантирует, что любые последующие версии кода не будут конфликтовать с более старыми версиями при использовании новых тегов. Конечно же, вы должны обеспечить поддержку всех старых версий файлов при дальнейшей разработке своего приложения.

Определение элементов

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

Простые типы

Спецификация XML-схемы определяет несколько простых типов для значений, как показано в Таблице 2 -предопределенные простые типы значений.

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

Простые, не вложенные элементы имеют простой тип

Элемент, который не содержит атрибутов или других элементов может быть отнесен к простому типу, предопределенному или определенному пользователем, такому как , , , , и т.п.

Листинг 7: Некоторые простые типы элементов
<element name='age' type='integer'/>
<element name='price' type='decimal'/>

Элементы с атрибутами должны иметь комплексный тип

Теперь попробуем добавить к простому элементу из атрибут . Вы не сможете этого сделать, так как элемент простого типа не может иметь атрибутов. Если вы хотите добавить атрибут, вам необходимо определить как элемент комплексного типа. В примере из , мы определяем, так называемый анонимный тип, в котором комплексному типу не дается явного имени. Другими словами, атрибут элемента не определен.

Листинг 8: Элемент комплексного типа
<element name='price'>
  <complexType base='decimal' derivedBy='extension'>
    <attribute name='currency' type='string'/>
  </complexType>
</element>
<!-- In XML instance document, we can write: <price currency='US'>45.50</price> -->

Элементы, содержащие вложенные элементы должны иметь комплексный тип

В XML-документе в элемент могут быть вложены другие элементы. Это требование выражается напрямую в DTD. XML-схема вместо этого определяет элемент и его тип, который может включать объявления других элементов и атрибутов. Пример приведен в .

XML-схема
<element name='Book' type='BookType'/>
<complexType name='BookType'>
    <element name='Title' type='string'/>
    <element name='Author' type='string'/>
</complexType>

Несмотря на то, что XML-код в соответствует обоим фрагментам DTD и XML-схемы, между ними существует большая разница. В DTD все элементы являются глобальными, тогда как XML-схема в таблице позволяет определить и локально, для появления их только в рамках элемента . Для точного повторения эффекта объявлений DTD в XML-схеме, элементы и должны иметь глобальную область действия, как это показано в . Атрибут элемента позволяет ссылаться на предыдущие объявленные элементы.

Листинг 9: Комплексный тип, состоящий из глобальных простых типов
<element name='Title' type='string'/>
<element name='Author' type='string'/>
<element name='Book' type='BookType'/>
<complexType name='BookType'>
   <element ref='Title'/>
   <element ref='Author'/>
</complexType>

В примерах, представленных в и , тип является глобальным и может быть использован для объявления других элементов. В противоположность этому, в элемент определяется как локальный анонимный тип

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

Листинг 10: Скрытие BookType как локального типа
<element name='Title' type='string'/>
<element name='Author' type='string'/>
<element name='Book'>
   <complexType>
      <element ref='Title'/>
      <element ref='Author'/>
   </complexType>
</element>

XSD схема¶

XML Schema — язык описания структуры XML-документа, его также называют XSD. Как большинство языков описания XML, XML Schema была задумана для определения правил, которым должен подчиняться документ. Но, в отличие от других языков, XML Schema была разработана так, чтобы её можно было использовать в создании программного обеспечения для обработки документов XML.

После проверки документа на соответствие XML Schema читающая программа может создать модель данных документа, которая включает:

  • словарь (названия элементов и атрибутов);
  • модель содержания (отношения между элементами и атрибутами и их структура);
  • типы данных.

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

Подробнее об XSD смотрите:

  • XML Schema
  • XSD — умный XML

Примечание

Примером использования XSD cхем может служить электронная отчетность:

ФНС: Справочник налоговой и бухгалтерской отчетности

Не переопределяйте обобщенные или специфичные для языка конструкции

Я понимаю, что XML – это формат для сохранения данных. В своем большинстве языки предоставляют способ сохранения структур данных в XML. Хорошо, если вы уверены, что только написанные на том же языке процессы будут когда-либо читать или писать ваш XML-код. Такое, однако, встречается редко. Если ваше приложение пишет что-то в файл, вполне вероятно, что в какой-то момент времени его прочтет пользователь или какое-нибудь приложение на другом языке.

Этим я хочу сказать, что специфичные для языка конструкции нужно хранить вне XML. Как часто вы встречали ? Что такое NSDate? Ага, это имя класса для работы с датами на прикладной платформе. Что произойдет при смене платформы или языка? Потребуется преобразование тегов NSDate во что-то другое, что используется на новой платформе.

Храните специфику языка вне XML и используйте простые теги, скажем . Такой тег легко понимаем, читабелен и не зависит от конкретного языка или интегрированной среды.

Еще одно важное правило – избегайте использования в XML излишних обобщений. Взгляните на следующий пример ():

Листинг 1. Обобщенное дерево узлов
<nodes>
    <node type="user">
        <node type="first">jack</node>
    </node>
</nodes>

Что это означает? Я понял, что это список пользователей. Но человеку трудно это читать и редактировать. Еще хуже то, что этот XML-код очень трудно использовать в средствах, подобных XSLT, или проверять его корректность при помощи схемы. В показано, что на самом деле означает приведенный выше XML-код.

Листинг 2. Более эффективное дерево узлов
<users>
    <user>
        <first>jack</first>
    </user>
</users>

Разве так не лучше? Код говорит то, что означает, и означает то, что говорит. Его легче читать и анализировать. Его легче проверять и преобразовывать при помощи XSLT. Он даже меньше по размеру.

Что такое XML формат

XML — стандартизированный, но расширяемый язык текстовой разметки, основанный на удобном и легко читаемом, как пользователями, так и компьютером, синтаксисе, состоящем из тегов, атрибутов и препроцессоров.

Применяется формат XML сразу в нескольких направлениях:

  • верстка сайтов
  • систематизированное оформление таблиц
  • базы данных
  • настройки запуска приложений

Читаемость – главная идея XML-документа. Даже без дополнительных инструментов можно открыть файл и, бегло пробежавшись глазами по описанным символам, легко разобраться, какие инструкции заложены внутри, и какие события запустятся при непосредственном использовании по прямому назначению.

Базируется язык разметки на кодировке Юникод (UTF-8 и UTF-16) и легко подстраивается под любые конкретные нужды (главное соблюдать некоторые обязательные правила – к примеру, размещать в первой строчке документа обязательную конструкцию, определяющую версию XML, кодировке и подключаемых библиотеках). Но то лишь нюансы – куда важнее разобраться, как можно открыть документ XML и получить информативный текст, а не набор неразборчивых символов.

Итак, рассмотрим популярные способы для открытия XML файл.

Заключение

Поддержка технологии XML предусмотрена во многих инструментальных средствах. Как пользователю XML, вам следует проанализировать свои потребности и выбрать подходящее инструментальное средство. Например, если вам нужно выполнять много разных операций, можно выбрать XML IDE с такими дополнительными функциональными возможностями, как редактирование, проверка корректности и т.д. Для узких задач (например, для сравнения XML-файлов) можно выбрать специализированную программу сравнения.

Похожие темы

  • Оригинал статьи: Investigate current XML tools (EN).
  • Ссылки на инструментальные средства для создания XML-карт сайтов:

    • Google SiteMap Generator
    • Gsite Crawler
    • Sitemaps Builder
    • XML Sitemaps
  • Ссылки на программы проверки корректности XML-карт сайтов:

    • Automapit sitemap validator
    • Sitemap XML validator
    • XML sitemaps validator
    • Online Merchant Forum – XML (Google) Sitemap Checker
  • Ссылки на генераторы RSS-фидов:

    • IceRocket RSS builder
    • Feedity
    • RSSPect
  • Ссылки на генераторы XML-схем:

    • Trang from ThaiOpenSource
    • XML for ASP BuildXMLSchema
  • Ссылки на программы проверки корректности XML:

    • XMLValidation.com
    • DecisionSoft.com Schema Validator
    • W3C XML validator
  • Ссылки на программы форматирования XML:

    • XMLIndent.com
    • X01 online xml formatter
  • Ссылки на XML-редакторы:

    • Xerlin XML Editor
    • Jaxe Editor
    • XMLFox
  • Ссылки на инструментальные средства для работы с XML:

    • Tiger XSLT Mapper
    • Kernow
    • XSLT Online Transformation
    • W3C Online XSLT 2.0 Service
    • Mozilla Firefox: XSL Results Add-on
    • Mozilla Firefox: XML Developer Toolbar Add-on
    • Google Chrome: XML Tree
    • Google Chrome: XML Viewer
  • Ссылки на инструментальные средства с открытыми исходными кодами для работы с XML:

    • iXedit
    • Rinzo XML Editor
    • XPontus XML Editor
  • Ссылки на XML IDE:

    • XMLSpy
    • XML Marker
    • Liquid XML Studio
    • <oXygen/> XML Editor
    • Stylus Studio
    • XML Notepad
    • XML Copy Editor
    • firstobject XML Editor
    • XRay XML Editor
    • XMLSpear
    • XMLmind
    • ElfData XML Editor
    • XMetal
  • Ссылки на инструментальные средства сравнения XML-файлов:

    • <oXygen/> XML Diff & Merge
    • Liquid XMLDiff
    • ExamXML
    • DeltaXML
  • Ссылки на инструментальные средства для работы с XQuery:

    • XMLSpy XQuery Editor
    • Stylus Studio XQuery Editor
    • XQuery development tools for Eclipse
  • Ссылки на инструментальные средства для работы с XPath:

    • SketchPath
    • XPath Visualizer
    • XPath Query Expression Tool
    • Simple online XPath tester
    • XSLT Tryit Editor
  • XML-редакторы (O’Reilly xml.com): список XML-редакторов.
  • Сравнение XML-редакторов (Википедия): список XML-редакторов, в котором сравниваются условия лицензирования, поддерживаемые платформы и функциональные возможности различных XML-редакторов.
  • Генераторы карт сайтов: список ссылок на инструментальные средства и фрагменты кода, генерирующие или обслуживающие файлы карт сайтов.
  • Раздел XML на developerWorks: ресурсы для повышения квалификации в области XML. В библиотеке технической литературы по XML представлены технические статьи и рекомендации, руководства, стандарты и документы IBM Redbooks.
  • Сертификация IBM XML: информация о получении сертификата IBM-Certified Developer по XML и смежным технологиям.
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector