Учебник по PHP

PHP ГЛАВНАЯ Введение в PHP Установка PHP Синтаксис PHP Комментарии PHP PHP-переменные PHP-эхо/печать Типы данных PHP PHP-строки PHP-номера PHP-математика PHP-константы PHP-операторы PHP Если... Иначе... Иначе PHP-переключатель PHP-циклы PHP-функции PHP-массивы PHP-суперглобальные переменные PHP регулярное выражение

PHP- формы

Обработка форм PHP Проверка формы PHP Требуется PHP-форма URL-адрес формы PHP/электронная почта PHP-форма завершена

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

Дата и время PHP PHP включает Обработка файлов PHP Открытие/чтение файла PHP Создание/запись файла PHP Загрузка файла PHP PHP-куки PHP-сессии PHP-фильтры Расширенные фильтры PHP Функции обратного вызова PHP 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 Получить последний идентификатор MySQL Вставить несколько MySQL подготовлен Выбор данных MySQL MySQL Где Порядок MySQL MySQL Удалить данные Данные обновления MySQL Предельные данные MySQL

PHP XML

XML-парсеры PHP Парсер PHP SimpleXML PHP SimpleXML — Получить PHP XML Expat PHP XML DOM

PHP — АЯКС

Введение в АЯКС АЯКС PHP База данных AJAX АЯКС XML AJAX-поиск в реальном времени АЯКС-опрос

Примеры PHP

Примеры PHP PHP-компилятор PHP-викторина PHP-упражнения PHP-сертификат

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

Обзор PHP PHP-массив Календарь PHP Дата PHP PHP-каталог Ошибка PHP PHP-исключение Файловая система PHP PHP-фильтр PHP FTP PHP JSON Ключевые слова PHP PHP-библиотека XML PHP-почта PHP-математика PHP Разное PHP MySQLi PHP-сеть Управление выводом PHP PHP регулярное выражение PHP SimpleXML PHP-поток PHP-строка Обработка переменных PHP XML-парсер PHP PHP-архив Часовые пояса PHP

Парсер 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>Don't forget me this weekend!</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>Don't forget me this weekend!</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] => Don't forget me this weekend! )

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

Пример

<?php
libxml_use_internal_errors(true);
$myXMLData =
"<?xml version='1.0' encoding='UTF-8'?>
<document>
<user>John Doe</wronguser>
<email>[email protected]</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);
}
?>

Вывод кода выше будет:

Failed loading 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>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

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

Пример

<?php
$xml=simplexml_load_file("note.xml") or die("Error: Cannot create object");
print_r($xml);
?>

Вывод кода выше будет:

SimpleXMLElement Object ( [to] => Tove [from] => Jani [heading] => Reminder [body] => Don't forget me this weekend! )

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


Еще PHP SimpleXML

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