САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ ДЛЯ ВЕБ РАЗРАБОТЧИКОВ
×

PHP5 Учебник

PHP Главная PHP Введение PHP Установка PHP Синтаксис PHP Переменные PHP Echo/Print PHP Типы данных PHP Строки PHP Константы PHP Операторы PHP Заявления if...else PHP Заявления switch PHP Цикл while PHP Циклы for, foreach PHP Функции PHP Массивы PHP Сортировка массивов PHP Суперглобальные массивы

PHP Формы

PHP Формы PHP Проверка форм PHP Поля форм PHP Проверка почты PHP Полная форма

PHP Продвинутый

PHP Мульти массивы PHP Дата и время PHP Подключение PHP Обработка файлов PHP Открыть файл PHP Создать файл PHP Загрузить файл PHP Файлы cookie PHP Проведение сессий PHP Фильтры PHP Расширенные фильтры PHP Обработка ошибок PHP Обработка исключений

MySQL

MySQL База данных MySQL Установить MySQL Создать БД MySQL Создать таблицу MySQL Вставить данные MySQL Получить ID MySQL Вставить записи MySQL Подготовленные MySQL Выбрать данные MySQL Удалить данные MySQL Обновить данные MySQL Лимит данных

PHP - XML

PHP XML Парсер PHP XML Анализатор PHP XML Вывод PHP XML Экспат PHP XML DOM

PHP - AJAX

AJAX Введение AJAX PHP AJAX База данных AJAX XML AJAX Живой Поиск AJAX RSS Считывание AJAX Опрос

PHP Примеры

PHP Примеры

PHP Справочник

PHP Краткий обзор PHP Массив PHP Календарь PHP Дата/Время PHP Директория PHP Ошибка PHP Файловая система PHP Фильтр PHP FTP PHP HTTP PHP JSON PHP Libxml PHP Почта PHP Математика PHP Различные PHP MySQLi PHP Локальная сеть PHP Регулярное выражение PHP Простой XML PHP Поток PHP Строки PHP Переменная обработка PHP XML Парсер PHP Zip файлы PHP Часовой пояс

PHP5 SimpleXML анализатор



SimpleXML - это расширение PHP, которое позволяет легко манипулировать и получать XML данные.


SimpleXML анализатор

SimpleXML синтаксический анализатор на основе дерева.

SimpleXML обеспечивает простой способ получения имени элемента, атрибутов и текстовых содержимых, если известна структура или макет XML документа.

SimpleXML превращает XML документ в структуру данных, как коллекция массивов и объектов.

По сравнению с DOM или Expat парсер, SimpleXML занимает меньше строк кода для чтение текстовых данных из элемента.


SimpleXML установка

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


PHP SimpleXML - чтение из строки

PHP функция simplexml_load_string() используется для чтения XML данных из строки.

Предположим, у нас есть переменная, содержащая XML данные, например:

$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Андрей</to>
<from>Татьяна</from>
<heading>Напоминание</heading>
<body>Не забудь меня на этих выходных!</body>
</note>";

Пример ниже показывает как использовать функцию simplexml_load_string() для чтение XML данных из строки:

Пример

<?php
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<note>
<to>Андрей</to>
<from>Татьяна</from>
<heading>Напоминание</heading>
<body>Не забудь меня на этих выходных!</body>
</note>";

$xml=simplexml_load_string($myXMLData) or die("Error: Невозможно создать объект");
print_r($xml);
?>
Смотреть код »

Вывод данных приведенного выше кода:

SimpleXMLElement Object ( [to] => Андрей [from] => Татьяна [heading] => Напоминание [body] => Не забудь меня на этих выходных! )

Совет по обработке ошибок: Используйте функцию libxml_use_internal_errors() для получения всех ошибок XML при загрузке документа, а затем повторить ошибки. А тоследующий пример попытается загрузить сломанную строку XML:

Пример

<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<document>
<user>Андрей Щипунов</wronguser>
<email>and-shhipunov@mail.ru</wrongemail>
</document>";

$xml = simplexml_load_string($myXMLData);
if ($xml === false) {
    echo "Ошибка загрузки XML: ";
    foreach(libxml_get_errors() as $error) {
        echo "<br>", $error->message;
    }
} else {
    print_r($xml);
}
?>
Смотреть код »

Вывод данных приведены выше кода:

Ошибка загрузки XML:
Opening and ending tag mismatch: user line 3 and wronguser
Opening and ending tag mismatch: email line 4 and wrongemail

PHP SimpleXML - Чтение из файла

PHP функция simplexml_load_file() используется для чтения XML данных из файла.

Предположим, у нас есть XML файл "note.xml", он выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<note>
  <to>Андрей</to>
  <from>Татьяна</from>
  <heading>Напоминание</heading>
  <body>Не забудь меня на этих выходных!</body>
</note>

Пример ниже показывает как использовать функцию simplexml_load_file() для чтения XML данные из файла:

Пример

<?php
$xml=simplexml_load_file("note.xml") or die("Error: Невозможно создать объект");
print_r($xml);
?>
Смотреть код »

Вывод данных приведенного выше кода:

SimpleXMLElement Object ( [to] => Андрей [from] => Татьяна [heading] => Напоминание [body] => Не забудь меня на этих выходных! )

Совет: В следующей главе показано, как получить/вернуть значения из XML файла с SimpleXML!


PHP SimpleXML Справочник

Для получения дополнительной информации о функциях PHP SimpleXML, посетите наш PHP SimpleXML Справочник.