Що таке 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, яка буде використовуватися, та кодування
- “<Співробітники 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-файлів.