При написании XML лучше писать его или использовать генератор, такой как simpleXML в PHP?

Обычно я написал xml так:

<tag><?= $value ?></tag> 

Найдя инструменты, такие как simpleXML, я должен использовать их вместо этого? В чем преимущество этого, используя такой инструмент?

Solutions Collecting From Web of "При написании XML лучше писать его или использовать генератор, такой как simpleXML в PHP?"

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

Хорошие инструменты XML также сохраняют кучу повторяющегося набора тегов.

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

Используйте генератор.

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

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

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

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

  2. еще лучше, сделайте шаг назад и напишите XML как структуру данных любого языка, который вы предпочитаете, чем преобразуете эту структуру данных в XML. Perl предоставляет вам такие модули, как легкий XML :: Simple для небольших заданий или более мощный XML :: Generator ; использование XML::Simple – это просто вопрос размещения вашего контента в стандартном хеш-херете Perl и его запуске через соответствующий метод.

-Стив

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

В XML не так много краевых случаев, но их достаточно, чтобы тратить время на создание собственного кода для их обработки. (И если вы не справитесь с этим, ваш код неожиданно завершится когда-нибудь. Никто этого не хочет.) Любой хороший инструмент XML автоматически обработает эти случаи.

Вы можете использовать расширение DOM, которое может быть довольно громоздким для кода. Мое личное мнение заключается в том, что наиболее эффективным способом записи XML-документов с нуля является расширение XMLWriter, которое поставляется с PHP и включено по умолчанию в последних версиях.

 $w=new XMLWriter(); $w->openMemory(); $w->startDocument('1.0','UTF-8'); $w->startElement("root"); $w->writeAttribute("ah", "OK"); $w->text('Wow, it works!'); $w->endElement(); echo htmlentities($w->outputMemory(true)); 

Скорость может быть проблемой … рукописный может быть намного быстрее.

Инструменты XML в eclipse также очень полезны. Просто создайте новую XML-схему и документ, и вы можете легко использовать большинство графических инструментов. Я хотел бы отметить, что предварительное понимание того, как работают схемы, будет полезным.

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