Что такое 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 CEO Tasha Smith Finance Manager
ЗДЕСЬ,
- « Xml version =" 1.0 "encoding =" utf-8 "?>» Указывает версию 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.