Подтвердить что ты не робот

Что такое XML, и когда я должен его использовать?

Мне любопытно, что я разрабатываю довольно мощные веб-сайты/веб-приложения, и я никогда не изучал XML, даже более странный, я никогда не чувствовал необходимости. Это не похоже на завиток или подготовленные высказывания, где, прежде чем зная, что они сделали и как они работали, у меня возникло чувство, что "это должен быть более простой способ сделать это!" или "там должно быть что-то для этого!".

В настоящее время я работаю с MySQL и JSON, и у меня нет этого чувства: "Мне нужно это узнать" (XML), это должно быть неправильно!

Мне очень интересно услышать некоторые убедительные аргументы для XML и узнать о том, что он может сделать быстрее, чем JSON или MySQL (или какой-либо другой аспект веб-разработчика), и когда я должен его использовать!

4b9b3361

Ответ 1

JSON очень легкий, что делает его лучше подходящим для передачи данных на передний конец.

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

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

Однако я нашел пару сайтов, которые делают хорошие моменты.

http://ajaxian.com/archives/json-vs-xml-the-debate (Некоторые хорошие моменты в комментариях)

http://webignition.net/articles/xml-vs-yaml-vs-json-a-study-to-find-answers/

Ответ 2

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

JSON немного проще работать с данными в Интернете, но не имеет такого же набора функций - вы не можете иметь атрибуты в JSON, поэтому нет никакой разницы между данными и метаданными, и вы не имеют инструкций по обработке или способности создавать объекты для повторных фрагментов текста. С другой стороны, многие применения XMLl также не используют эти функции. Базы данных SQL имеют фиксированную схему и не представляют деревья хорошо.

В большинстве случаев XML используется для взаимодействия.

Ответ 3

Одним из преимуществ XML по сравнению с другими форматами сериализации является количество доступных инструментов. Другая - возможность формализовать описание ваших данных (XML-схема).

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

Наличие способа описания формата (XSD, DTD, Relax NG,...) означает, что вы также можете автоматически проверить свои документы. Он также служит довольно хорошей документацией о том, что разрешено, а что нет в ваших документах.

Ответ 4

XML - это просто для хранения сообщений структурированным способом, который (якобы) является агностиком приложения. Это все, что есть. С другой стороны, XML предлагает способ сохранения семантики (значения) данных при общении между различными приложениями. Он также популярен как формат конфигурации, поскольку (1) конфигурационный файл представляет собой просто сообщение между различными сеансами приложений * и (2) почти каждый язык имеет зрелые стандартные XML-библиотеки.

* вы также можете думать об этом как о простом случае передачи сообщений между приложениями.

Ответ 5

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

Ответ 6

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

Ответ 7

XML - единственное решение для обмена данными и ничего не полезное.

Итак, вы должны изучать XML только в том случае, если вы собираетесь анализировать или поставлять RSS-канал. Однако никакая ракета-наука, поскольку это тот же язык разметки, что и HTML, с некоторыми строгими рекомендациями.

Ol 'хорошая статья от хорошего Joel, чтобы разобраться в

Ответ 8

"Знание XML" может означать пару разных вещей.

Первое - это понимание базового синтаксиса. Это предварительное условие для написания XHTML, SVG, Atom, RSS и множества других языков, которые являются приложениями XML.

Второе строит первое и понимает, как разрабатывать собственные XML-приложения, т.е. пользовательские хранилища данных или обменные форматы. JSON может выполнять аналогичную роль и имеет некоторые преимущества (например, возможность неявно представлять массив данных: { bar: ['foo'] }. В XML, который анализатор должен знать, чтобы преобразовать содержимое <bar> в массив для языка программирования если вы хотите рассматривать его как простую структуру данных) <bar><foo/></bar>) и недостатки (XML позволяет вам иметь необязательные вещи в любом порядке с меньшими усилиями).

Ответ 9

XML полезен в качестве формата для:

  • перенос данных по платформам
  • резервное копирование или экспорт текста из базы данных
  • кросс-языковая интеграция

Для этого используются системы управления контентом. Он также полезен для кэширования кода шаблонов на стороне клиента, который используется на skechers.com и объясняется в комментарии от Mark Beeson на сайте Тима Брея:

К счастью, есть способ кэшировать весь уровень представления на клиенте, сохраняя при этом уважение к страницам и все еще предлагая AJAX в правильных местах без чудовищных URL. Проверьте источник skechers.com - мы используем клиентский XSLT, который кэшируется в браузере, а один файл xsl описывает макет всего сайта. Таким образом, при переходе со страницы на страницу вы загружаете только небольшое количество XML. Мы обнаружили, что это значительно ускоряет наше приложение и позволяет нам массировать огромное количество кэширования.

Ссылки

Ответ 10

С PHP, как и с большинством динамических языков, он лучше всего отводится на совместимость. XML быстрее переписывается, чем Java, но PHP быстрее переписывает, чем XML.