Что такое XML?
XML является аббревиатурой от Extensible Markup Language.
XML используется для структурирования, хранения и передачи данных из одной системы в другую.
XML похож на HTML.
Он использует открывающие и закрывающие теги.
В отличие от HTML, XML позволяет пользователям определять свои собственные теги.
В этом уроке вы узнаете
- Что такое DOM?
- Парсеры XML
- Зачем использовать XML?
- Пример XML-документа
- Как читать XML с помощью PHP
- Как создать XML-документ с использованием PHP
Что такое DOM?
DOM — это аббревиатура для объектной модели документа.
Это кроссплатформенный и не зависящий от языка стандарт, определяющий, как осуществлять доступ к данным и манипулировать ими;
- HTML
- XHTML
- XML
DOM XML используется для доступа и управления XML-документами. Он рассматривает XML-документ как древовидную структуру.
Парсеры XML
Синтаксический анализатор XML — это программа, которая переводит документ XML в объект модели модели документа XML (DOM).
Объектом XML DOM затем можно управлять с помощью JavaScript, Python, PHP и т. Д.
Ключевое слово CDATA, которое является аббревиатурой для (Unparsed) символьных данных, используется для игнорирования специальных символов, таких как «<,>», при разборе XML-документа.
Зачем использовать XML?
- Веб-сервисы, такие как SOAP и REST, используют формат XML для обмена информацией. Изучение того, что такое XML и как он работает, даст вам конкурентное преимущество как разработчика, поскольку современные приложения интенсивно используют веб-сервисы.
- XML-документы могут быть использованы для хранения параметров конфигурации приложения
- Это позволяет вам создавать свои собственные теги, которые делают его более гибким.
Пример XML-документа
Предположим, вы разрабатываете приложение, которое получает данные из веб-службы в формате XML.
Ниже приведен пример того, как выглядит XML-документ.
<?xml version="1.0" encoding="utf-8"?> <employees status = "ok"> <record man_no = "101"> <name>Joe Paul</name> <position>CEO</position> </record> <record man_no = "102"> <name>Tasha Smith</name> <position>Finance Manager</position> </record> </employees>
ВОТ,
- «<? Xml version =» 1.0 «encoding =» utf-8 «?>» Указывает используемую версию xml и кодировку
- «<Employee status =» ok «>» является корневым элементом.
- «<Запись…>… </ запись>» — это дочерние элементы администрирования и продаж соответственно.
Как читать XML с помощью PHP
Давайте теперь напишем код, который будет читать XML-документ сотрудников и отображать результаты в веб-браузере. Index.php
<?php $xml = simplexml_load_file('employees.xml'); echo '<h2>Employees Listing</h2>'; $list = $xml->record; for ($i = 0; $i < count($list); $i++) { echo '<b>Man no:</b> ' . $list[$i]->attributes()->man_no . '<br>'; echo 'Name: ' . $list[$i]->name . '<br>'; echo 'Position: ' . $list[$i]->position . '<br><br>'; } ?>
ВОТ,
- «$ Xml = simplexml_load_file (’employee.xml’);» использует функцию simplexml_load_file, чтобы загрузить имя файла employee.xml и присвоить содержимое переменной массива $ xml.
- «$ List = $ xml-> record;» получает содержимое узла записи.
- For ($ i = 0; $ i <count (…)… »- цикл for, который читает числовой массив и выводит результаты
- «$ Список [$ я] -> атрибуты () -> man_no;» читает атрибут man_no элемента
- «$ Список [$ я] -> имя;» читает значение имени дочернего элемента
- «$ Список [$ я] — позиция>;» читает значение дочернего элемента position
Тестирование нашего приложения
Предполагая, что вы сохранили файл index.php в папке phptus / xml, перейдите по URL-адресу http: //localhost/phptuts/xml/index.php
Как создать XML-документ с использованием PHP
Теперь мы рассмотрим, как создать XML-документ с использованием PHP.
Мы будем использовать пример выше в диаграмме дерева DOM.
Следующий код использует встроенный класс PHP DOMDocument для создания документа XML.
<?php $dom = new DOMDocument(); $dom->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 = новый DOMDocument ();» создает экземпляр класса DOMDocument.
- «$ Dom-> encoding = ‘utf-8’;» устанавливает кодировку документа в utf-8
- «$ Dom-> xmlVersion = ‘1.0’;» указывает номер версии 1.0
- «$ Dom-> formatOutput = true;» гарантирует, что вывод хорошо отформатирован
- «$ Root = $ dom-> createElement (‘Фильмы’);» создает корневой узел с именем Movies
- «$ Attr_movie_id = new DOMAttr (‘movie_id’, ‘5467’);» определяет атрибут id фильма узла Movies
- «$ Child_node_element_name = $ dom-> createElement (« ElementName »,« ElementValue »)» создает дочерний узел узла «Фильмы». ElementName указывает имя элемента, например, заголовок. ElementValue устанавливает значение дочернего узла, например, The Campaign.
- «$ Корне-> AppendChild ($ movie_node);» добавляет элементы movie_node к корневому узлу Movies
- «$ Dom-> AppendChild ($ корень);» добавляет корневой узел к документу XML.
- «$ Dom-> сохранить ($ xml_file_name);» сохраняет файл XML в корневом каталоге веб-сервера.
- «Echo ‘<a href= «‘.$xml_file_name.'»>’. $ xml_file_name. «</a> успешно создан»; » создает ссылку на файл XML.
Тестирование нашего приложения
Предполагая, что вы сохранили файл create_movies_list в папке phptuts / xml, перейдите по URL-адресу http: //localhost/phptuts/xml/create_movies_list.php
Нажмите на ссылку movies_list_xml
Резюме
- XML является аббревиатурой от Extensible Markup Language
- XML может использоваться для обмена информацией между системами или для хранения настроек конфигурации приложения и т. Д.
- DOM — это аббревиатура для объектной модели документа. XML DOM рассматривает документ XML как древовидную структуру
- Анализатор XML — это программа, которая переводит XML XML-документ в древовидную структуру DOM, подобную документу.
- CDATA используется для игнорирования специальных символов при разборе XML-документов.
- PHP использует файл simplexml_load_file для чтения XML-документов и возврата результатов в виде числового массива
- PHP DOMDocument класс для создания файлов XML.