Парсеры PHP XML
В этом уроке вы узнаете, как получить ограниченное количество записей из таблицы базы данных MySQL с помощью условия LIMIT.
Что такое XML?
XML (eXtensible Markup Language, расширяемый язык разметки) используется для структурирования, хранения и передачи данных из одной системы в другую.
Он очень похож на HTML, только в XML разрешены свои собственные теги и атрибуты.
Примером совместно используемых xmls являются RSS-каналы.
Что такое DOM?
DOM — это аббревиатура от Document Object Model (Объектная Модель Документа).
Объектная Модель Документа (DOM) – это программный интерфейс (API) для HTML и XML документов.
XML-документы имеют иерархию информационных единиц, называемых узлами. DOM — это способ описания этих узлов и отношений между ними.
Документ DOM — это набор узлов или фрагментов информации, организованных в иерархию. Эта иерархия позволяет разработчику перемещаться по дереву в поисках конкретной информации. Поскольку она основана на иерархии информации, модель DOM называется древовидной.
XML DOM, с другой стороны, также предоставляет API, который позволяет разработчику добавлять, редактировать, перемещать или удалять узлы в дереве в любой момент для создания приложения.
Что такое API? Это набор функций, с помощью которых мы можем сделать запрос сайту и получать нужный ответ. Вот этот ответ чаще всего приходит в формате XML.
Что такое CDATA?
Термин CDATA означает символьные данные. CDATA определяется как блоки текста, которые не анализируются анализатором, но в остальном распознаются как разметка.
Предопределенные объекты, такие как & lt ;, & gt; и & amp; требуют набора текста и, как правило, плохо читаются в разметке. В таких случаях можно использовать раздел CDATA. Используя раздел CDATA, вы даете команду синтаксическому анализатору, чтобы конкретный раздел документа не содержал разметки и обрабатывался как обычный текст.
Что такое парсер XML?
Парсер XML — это программа, которая переводит документ XML в объект объектной модели документа XML (DOM).
Затем объектом XML DOM можно управлять с помощью JavaScript, Python, PHP и т.д.
XML-парсер нам понадобится для чтения и обновления, создания и управления XML-документом.
И хотя в последнее время все большее число веб-сервисов возвращают данные в формате JSON, все же большинство, на данный момент, использует XML, поэтому важно изучить парсинг XML, если вы хотите использовать весь спектр доступных интерфейсов API.
В PHP есть два основных типа парсеров XML:
- Древовидные парсеры
- Парсеры на основе событий
Древовидные парсеры
Древовидные парсеры (DOM) обеспечивают представление XML, ориентированное на документы. При синтаксическом анализе на основе дерева парсеры хранят весь документ в памяти и преобразуют XML-документ в древовидную структуру, что для больших документов требует очень больших затрат памяти.
Все элементы и атрибуты доступны сразу, но не раньше, чем будет проанализирован весь документ. Этот метод полезен, если вам нужно перемещаться по документу и, возможно, изменять различные фрагменты документа, именно поэтому он полезен для объектной модели документа (DOM), целью которой является управление документами с помощью языков сценариев или Java.
Этот тип синтаксического парсера является лучшим вариантом только для небольших XML-документов, поскольку он вызывает серьезные проблемы с производительностью при обработке больших XML-документов.
К древовидным парсерам относятся:
- SimpleXML
- ДОМ
Парсеры на основе событий
Парсеры на основе событий (SAX) обеспечивают представление XML, ориентированное на данные.
Вместо того, чтобы PHP анализировал XML-файл, сохраняя его все в своей памяти и считывая сразу несколько узлов, анализатор на основе событий считывает один узел всякий раз, когда это требуется. При переходе на другой узел старый удаляется.
Из-за своей природы доступа только к необходимым частям XML-документа, синтаксические анализаторы этого типа, как правило, более легкие (используют меньше памяти и меньше кода). Следовательно, эти парсеры - лучший выбор для XML-анализа больших документов.
Вот два наиболее популярных анализатора XML на основе событий:
- XMLReader
- XML Expat Parser
Парсеры на основе событий
- Язык XML используется для структурирования данных и имеет синтаксис, аналогичный HTML. Данными в этом формате можно легко обмениваться между веб-сайтами, поэтому эта технология часто используется для RSS-каналов, подкастов и т. п.
- Чтобы превратить файлы XML в доступные и читаемые данные, вам понадобится анализатор XML. Это может быть расширение или независимая программа, позволяющая PHP анализировать XML-документы.
- В PHP синтаксические анализаторы XML делятся на две группы: основанные на событиях (лучше для больших документов) и основанные на деревьях (лучше для небольших документов).