Учебное пособие по PHP XML: создание, анализ, чтение с примерами

Содержание:

Anonim

Что такое XML?

XML - это аббревиатура от Extensible Markup Language.

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

XML похож на HTML.

Он использует открывающие и закрывающие теги.

В отличие от HTML, XML позволяет пользователям определять свои собственные теги.

В этом руководстве вы узнаете:

  • Что такое DOM?
  • XML-парсеры
  • Зачем использовать XML?
  • Пример XML-документа
  • Как читать XML с помощью PHP
  • Как создать XML-документ с помощью PHP

Что такое DOM?

DOM - это аббревиатура от Document Object Model.

Это кроссплатформенный и не зависящий от языка стандарт, который определяет, как получить доступ к данным и управлять ими;

  • HTML
  • XHTML
  • XML

DOM XML используется для доступа к XML-документам и управления ими. Он рассматривает XML-документ как древовидную структуру.

XML-парсеры

Анализатор XML - это программа, которая переводит документ XML в объект объектной модели документа XML (DOM).

Затем объектом XML DOM можно управлять с помощью JavaScript, Python, PHP и т. Д.

Ключевое слово CDATA, которое является аббревиатурой от (Unparsed) Character Data, используется для игнорирования специальных символов, таких как «<,>», при синтаксическом анализе XML-документа.

Зачем использовать XML?

  • Веб-службы, такие как SOAP и REST, используют формат XML для обмена информацией. Изучение того, что такое XML и как он работает, даст вам как разработчику конкурентное преимущество, поскольку современные приложения интенсивно используют веб-службы.
  • XML-документы могут использоваться для хранения параметров конфигурации приложения.
  • Он позволяет вам создавать свои собственные теги, которые делают его более гибким.

Пример XML-документа

Предположим, вы разрабатываете приложение, которое получает данные от веб-службы в формате XML.

Ниже приведен пример того, как выглядит XML-документ.

Joe Paul
CEOTasha Smith
Finance Manager

ЗДЕСЬ,

  • «» Указывает версию xml, которая будет использоваться, и кодировку.
  • «» - корневой элемент.
  • «… » - дочерние элементы администрирования и продаж соответственно.

Как читать XML с помощью PHP

Теперь напишем код, который будет читать XML-документ сотрудников и отображать результаты в веб-браузере. Index.php


Employees Listing

';$list = $xml->record;for ($i = 0; $i < count($list); $i++) {echo 'Man no: ' . $list[$i]->attributes()->man_no . '
';echo 'Name: ' . $list[$i]->name . '
';echo 'Position: ' . $list[$i]->position . '

';}?>

ЗДЕСЬ,

  • «$ Xml = simplexml_load_file ('employee.xml');» использует функцию simplexml_load_file для загрузки файла с именем employee.xml и присвоения содержимого переменной массива $ xml.
  • «$ List = $ xml-> record;» получает содержимое узла записи.
  • «For ($ i = 0; $ i
  • «$ List [$ i] -> attributes () -> man_no;» читает атрибут man_no элемента
  • «$ List [$ i] -> имя;» читает значение дочернего элемента name
  • «$ List [$ i] -> позиция;» читает значение дочернего элемента позиции

Тестируем наше приложение

Предполагая, что вы сохранили файл index.php в папке phptus / xml, перейдите по URL-адресу http: //localhost/phptuts/xml/index.php.

Как создать XML-документ с помощью PHP

Теперь мы рассмотрим, как создать XML-документ с помощью PHP.

Мы будем использовать приведенный выше пример на древовидной диаграмме DOM.

В следующем коде для создания XML-документа используется PHP, встроенный в класс DOMDocument.

encoding = 'utf-8';$dom->xmlVersion = '1.0';$dom->formatOutput = true;$xml_file_name = 'movies_list.xml';$root = $dom->createElement('Movies');$movie_node = $dom->createElement('movie');$attr_movie_id = new DOMAttr('movie_id', '5467');$movie_node->setAttributeNode($attr_movie_id);$child_node_title = $dom->createElement('Title', 'The Campaign');$movie_node->appendChild($child_node_title);$child_node_year = $dom->createElement('Year', 2012);$movie_node->appendChild($child_node_year);$child_node_genre = $dom->createElement('Genre', 'The Campaign');$movie_node->appendChild($child_node_genre);$child_node_ratings = $dom->createElement('Ratings', 6.2);$movie_node->appendChild($child_node_ratings);$root->appendChild($movie_node);$dom->appendChild($root);$dom->save($xml_file_name);echo "$xml_file_name has been successfully created";?>

ЗДЕСЬ,

  • «$ Dom = new DOMDocument ();» создает экземпляр класса DOMDocument.
  • «$ Dom-> encoding = 'utf-8';» устанавливает кодировку документа в utf-8
  • «$ Dom-> xmlVersion = '1.0';» указывает номер версии 1.0
  • «$ Dom-> formatOutput = true;» гарантирует, что вывод хорошо отформатирован
  • «$ Root = $ dom-> createElement ('Фильмы');» создает корневой узел с именем "Фильмы"
  • «$ Attr_movie_id = new DOMAttr ('movie_id', '5467');» определяет атрибут идентификатора фильма узла Фильмы
  • «$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')» создает дочерний узел узла Movies. ElementName указывает имя элемента, например Title. ElementValue устанавливает значение дочернего узла, например, The Campaign.
  • «$ Root-> appendChild ($ movie_node);» добавляет элементы movie_node к корневому узлу Movies
  • «$ Dom-> appendChild ($ root);» добавляет корневой узел к XML-документу.
  • «$ Dom-> save ($ xml_file_name);» сохраняет XML-файл в корневом каталоге веб-сервера.
  • «Echo ''. $ xml_file_name. " был успешно создан"; " создает ссылку на XML-файл.

Тестируем наше приложение

Предполагая, что вы сохранили файл create_movies_list в папке phptuts / xml, перейдите по URL-адресу http: //localhost/phptuts/xml/create_movies_list.php.

Нажмите ссылку movies_list_xml.

Резюме

  • XML - это аббревиатура от Extensible Markup Language.
  • XML можно использовать для обмена информацией между системами или хранения параметров конфигурации приложения и т. Д.
  • DOM - это аббревиатура от Document Object Model. XML DOM рассматривает XML-документ как древовидную структуру.
  • XML Parser - это программа, которая переводит XML XML-документ в древовидную структуру DOM, такую ​​как документ.
  • CDATA используется для игнорирования специальных символов при анализе XML-документов.
  • PHP использует simplexml_load_file для чтения XML-документов и возврата результатов в виде числового массива.
  • Класс PHP DOMDocument для создания файлов XML.