Підручник з 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, яка буде використовуватися, та кодування
  • “<Співробітники status =" ok ">” - це кореневий елемент.
  • «<Запис…>… » - це дочірні елементи адміністрування та продажів відповідно.

Як читати 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 ('staff.xml');” використовує функцію simplexml_load_file для завантаження імені файлу staff.xml та призначення змісту масиву змінної $ xml.
  • “$ List = $ xml-> запис;” отримує вміст вузла запису.
  • "For ($ i = 0; $ i
  • “$ List [$ i] -> attributes () -> man_no;” читає атрибут man_no елемента
  • “$ List [$ i] -> name;” читає значення дочірнього елемента name
  • “$ List [$ i] -> position;” читає значення дочірнього елемента position

Тестування нашої програми

Припускаючи, що ви зберегли файл index.php у папці phptus / xml, перейдіть за URL-адресою http: //localhost/phptuts/xml/index.php

Як створити XML-документ за допомогою PHP

Зараз ми розглянемо, як створити XML-документ за допомогою PHP.

Ми використаємо приклад вище на діаграмі дерева DOM.

У наведеному нижче коді використовується PHP, вбудований у клас DOMDocument, для створення XML-документа.

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');" визначає атрибут ідентифікатора фільму вузла "Фільми"
  • “$ Child_node_element_name = $ dom-> createElement ('ElementName', 'ElementValue')” створює дочірній вузол вузла Movies. ElementName визначає ім'я елемента, наприклад Title. ElementValue встановлює значення дочірнього вузла, наприклад, "Кампанія".
  • “$ Root-> appendChild ($ movie_node);” додає елементи movie_node до кореневого вузла Movies
  • “$ Dom-> appendChild ($ root);” додає кореневий вузол до документа XML.
  • “$ Dom-> зберегти ($ 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-аналізатор - це програма, яка перетворює XML-документ XML у деревоподібну структуру DOM, як документ.
  • CDATA використовується для ігнорування спеціальних символів при аналізі документів XML.
  • PHP використовує файл simplexml_load_file для читання XML-документів та повернення результатів у вигляді числового масиву
  • Клас PHP DOMDocument для створення XML-файлів.