Для чего XML хорош и когда я должен использовать его?

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

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

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

26
задан Paul Sweatte 4 August 2012 в 17:57
поделиться

9 ответов

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/

13
ответ дан 28 November 2019 в 07:27
поделиться

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

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

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

12
ответ дан 28 November 2019 в 07:27
поделиться

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

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

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

6
ответ дан 28 November 2019 в 07:27
поделиться

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

2
ответ дан 28 November 2019 в 07:27
поделиться

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

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

Ol' хорошая статья от ol' good Joel, чтобы разобраться

2
ответ дан 28 November 2019 в 07:27
поделиться

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

-6
ответ дан 28 November 2019 в 07:27
поделиться

«Знание XML» может означать несколько разных вещей.

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

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

1
ответ дан 28 November 2019 в 07:27
поделиться

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

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

5
ответ дан 28 November 2019 в 07:27
поделиться

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

4
ответ дан 28 November 2019 в 07:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: