НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

PHP Підручник

PHP СТАРТ PHP Інтро PHP Встановлення PHP Синтаксис PHP Коментарі PHP Змінні PHP Echo / Print PHP Типи даних PHP Рядки PHP Числа PHP Математика PHP Константи PHP Оператори PHP If...Else...Elseif PHP Switch PHP Цикли PHP Функції PHP Масиви PHP Суперглобали PHP RegEx

PHP Форми

PHP Обробка форми PHP Перевірка форми PHP Обов'язкові поля форми PHP Форма URL/E-mail PHP Заповнення форми

PHP Розширений

PHP Дата і час PHP Підключення файлів PHP Обробка файлів PHP Файл відкрити/читати PHP Файл створити/записати PHP Файл Завантажити PHP Кукі PHP Сесії PHP Фільтри PHP Розширені фільтри PHP Callback функції PHP JSON PHP Винятки

PHP ООП

PHP Що таке ООП PHP класи/об'єкти PHP Конструктор PHP Деструктор PHP Модифікатори доступу PHP Спадкування PHP Константи PHP Абстрактні класи PHP Інтерфейси PHP Трейти PHP Статичні методи PHP Статичні властивості PHP Простори імен PHP Ітерація

MySQL База даних

MySQL База даних MySQL Підключення MySQL Створити БД MySQL Створити таблиці MySQL Вставити дані MySQL Отримати останній ID MySQL Вставити кілька записів MySQL Підготовлені інструкції MySQL Вибрати дані MySQL Where MySQL Order By MySQL Видалення даних MySQL Оновлення даних MySQL Обмеження даних

PHP XML

PHP XML Парсери PHP SimpleXML Парсер PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Інтро AJAX PHP AJAX База даних AJAX XML AJAX Живий пошук AJAX Опитування

PHP Приклади

PHP Приклади PHP Компілятор PHP Вікторина PHP Вправи PHP Сертифікат

PHP Довідник

PHP Огляд PHP Масив PHP Календар PHP Дата PHP Каталог PHP Помилка PHP Виняток PHP Файлова система PHP Фільтр PHP FTP PHP JSON PHP Ключові слова PHP Libxml PHP Пошта PHP Математика PHP Різне PHP MySQLi PHP Мережа PHP Output Control PHP RegEx PHP SimpleXML PHP Потік PHP Рядок PHP Обробка змінних PHP XML Парсер PHP Zip PHP Часові пояси

PHP. W3Schools українською. Уроки для початківців

En

PHP SimpleXML Парсер


SimpleXML — це розширення PHP, яке дозволяє нам легко маніпулювати та отримувати дані XML.


Антаксичний аналізатор SimpleXML

SimpleXML — це аналізатор на основі дерева.

SimpleXML надає простий спосіб отримати назву елемента, атрибути та текстовий вміст, якщо ви знаєте структуру або макет документа XML.

SimpleXML перетворює XML-документ на структуру даних, яку можна переглядати, як набір масивів і об’єктів.

Порівняно з DOM або аналізатором Expat, SimpleXML потребує менше рядків коду для читання текстових даних з елемента.


Інсталяція

Починаючи з PHP 5, функції SimpleXML є частиною ядра PHP. Для використання цих функцій не потрібна установка.


PHP SimpleXML - Читати із рядка

Функція PHP simplexml_load_string() використовується для читання даних XML із рядка.

Припустімо, що у нас є змінна, яка містить XML-дані, як це:

$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Не забудь мене поцілувати в ці вихідні!</body>
</note>";

У прикладі нижче показано, як використовувати функцію simplexml_load_string() для читання даних XML із рядка:

Приклад

<?php
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Не забудь мене поцілувати в ці вихідні!</body>
</note>";

$xml=simplexml_load_string($myXMLData) or die("Error: Cannot create object");
print_r($xml);
?>
Виконати приклад »

Виведення коду вище буде:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Не забудь мене поцілувати в ці вихідні! )

Порада щодо обробки помилок. Використовуйте функцію libxml, щоб отримати всі помилки XML під час завантаження документа, а потім повторити помилки. У наступному прикладі намагається завантажити пошкоджений рядок XML:

Приклад

<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<document>
<user>John Doe</wronguser>
<email>john@example.com</wrongemail>
</document>";

$xml = simplexml_load_string($myXMLData);
if ($xml === false) {
  echo "Failed loading XML: ";
  foreach(libxml_get_errors() as $error) {
    echo "<br>", $error->message;
  }
} else {
  print_r($xml);
}
?>
Виконати приклад »

Виведення коду вище буде:

Помилка завантаження XML:
Невідповідність початкового та кінцевого тегів: рядок користувача 3 та wronguser
Невідповідність початкового та кінцевого тегів: рядок електронної пошти 4 та wrongemail

PHP SimpleXML - Читати із файла

PHP функція simplexml_load_file() використовується для читання XML даних із файлу.

Припустімо, що у нас є файл XML під назвою "note.xml", який виглядає так:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Не забудь мене поцілувати в ці вихідні!</body>
</note>

У прикладі нижче показано, як використовувати функцію simplexml_load_file() для читання XML-даних із файлу:

Приклад

<?php
$xml=simplexml_load_file("note.xml") or die("Error: Неможливо створити об’єкт");
print_r($xml);
?>
Виконати приклад »

Виведення коду вище буде:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Не забудь мене поцілувати в ці вихідні! )

Підказка: У наступному розділі показано, як отримати/відновити значення вузла з XML-файлу за допомогою SimpleXML!


Більше про PHP SimpleXML

Для отримання більш докладної інформації про функції PHP SimpleXML відвідайте PHP SimpleXML Довідник на нашому сайті W3Schools українською.