в настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть,
обратитесь за помощью в справочный центр .
Закрыто 7 лет назад .
Читая StackOverflow и слушая подкасты Джоэла Спольски и Джеффа Этвуда, я начинаю верить, что многие разработчики ненавидят использовать XML или, по крайней мере, стараются избегать использования XML в максимально возможной степени для хранения или обмена данными .
С другой стороны, мне очень нравится использовать XML по нескольким причинам:
Сериализация XML реализована на большинстве современных языков и чрезвычайно проста использовать ,
Будучи медленнее, чем двоичная сериализация, XML-сериализация очень полезна, когда речь идет о с использованием одних и тех же данных из нескольких языков программирования или там, где они предназначены для чтения и понимания, даже для отладки, человеком (например, JSON труднее понять),
XML поддерживает юникод , и при правильном использовании проблем с различным кодированием, символами и т. д. не возникает.
Есть много инструментов, которые облегчают работу с данными XML. XSLT является примером, упрощающим представление и преобразование данных. XPath - это еще один инструмент, облегчающий поиск данных.
XML может храниться на некоторых серверах SQL, что позволяет использовать сценарии, когда данные слишком сложны для их простого хранения в SQL. таблицы должны быть сохранены и обработаны; Например, JSON или двоичные данные нельзя напрямую манипулировать с помощью SQL (за исключением манипулирования строками, что в большинстве случаев является ненормальным),
XML не требует установки каких-либо приложений. Если я хочу, чтобы мое приложение использовало базу данных, я должен сначала установить сервер базы данных. Если я хочу, чтобы мое приложение использовало XML, мне не нужно ничего устанавливать ,
XML намного более явный и явный и расширяемый , чем, например, реестр Windows или файлы INI. ,
В большинстве случаев нет проблем CR-LF , благодаря уровню абстракции, обеспечиваемому XML.
Итак, принимая во внимание все преимущества использования XML, почему так много разработчики ненавидят использовать это? ИМХО, единственная проблема с ним заключается в том, что:
XML слишком многословен и требует гораздо больше места, чем большинство других форм данных, особенно когда речь идет о кодировании Base64.
Конечно, существует много сценариев где XML совсем не подходит Хранение вопросов и ответов SO в файле XML на стороне сервера будет абсолютно неправильным. Или, при хранении видео AVI или группы изображений JPG, XML - худшая вещь для использования.
Но как насчет других сценариев? Каковы недостатки XML?
Для людей, которые считали, что этот вопрос не является реальным вопросом:
Вопреки таким вопросам, как незамкнутый Существенные новые изобретения в области вычислительной техники с 1980 года , мой Вопрос - это очень четкий вопрос, и он предлагает объяснить, какие недостатки испытывают другие люди при использовании XML и почему им это не нравится. Он не приглашает обсудить, например, , является ли XML хорошим или плохим . И при этом это не требует расширенных обсуждений; Таким образом,
и не может быть разумным ответом : несколько человек уже дали отличные ответы на вопрос, показывая, что на вопрос можно ответить разумно. Также представляется совершенно очевидным, как оценивать ответы и определять принятый ответ. Если ответ дает веские причины того, что не так с XML, есть вероятность, что за этот ответ проголосуют, а затем примут.