Меню
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON PHP КАК
     ❯   

PHP Учебник


PHP Формы


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


PHP ООП


MySQL База данных


PHP XML


PHP - AJAX


PHP Примеры


PHP Справочник



PHP - SimpleXML Парсер



Парсер SimpleXML в PHP

Парсер SimpleXML позволяет нам легко читать и манипулировать XML-данными. Это легковесный парсер, который использует минимальное количество ресурсов. Парсер SimpleXML идеально подходит для небольших, несложных XML-файлов.

Этот парсер предоставляет простой способ доступа к элементам, атрибутам и текстовому содержимому XML-документа.

Совет: Парсер SimpleXML является частью ядра PHP. Установка не требуется!


Парсер SimpleXML в PHP - Чтение XML

Вы можете читать XML из строки или из файла, используя эти функции:


Парсер SimpleXML - Чтение из строки

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

Следующий пример показывает, как читать XML-данные из строки:

Пример

<?php
// Создаем строковую переменную, содержащую XML-данные
$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("Ошибка: Невозможно создать объект");

print_r($xml);
?>
Попробуйте сами »

Результатом выполнения приведенного выше кода будет:

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


Парсер 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>

Следующий пример показывает, как читать XML-данные из файла:

Пример

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

Результатом выполнения приведенного выше кода будет:

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

Обработка ошибок

Используйте библиотеку PHP libxml для обработки XML-ошибок при загрузке XML-документа или строки.

Функция libxml_get_errors() возвращает массив объектов ошибок или пустой массив, если ошибок нет.

Следующий пример пытается загрузить 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:
Несоответствие открывающего и закрывающего тега: user строка 3 и wronguser
Несоответствие открывающего и закрывающего тега: email строка 4 и wrongemail

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


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

Для получения полного справочника функций парсера SimpleXML посетите страницу Справочник парсера SimpleXML в PHP.



×

Связаться с отделом продаж

Если вы хотите использовать услуги schoolsw3 как образовательное учреждение, команда или предприятие, отправьте нам электронное письмо:
sales@schoolsw3.com

Сообщить об ошибке

Если вы хотите сообщить об ошибке или внести предложение, отправьте нам электронное письмо:
help@schoolsw3.com

Schoolsw3 оптимизирован для обучения и подготовки. Примеры могут быть упрощены для улучшения чтения и обучения. Учебники, ссылки и примеры постоянно проверяются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность всего контента.
При использовании Schoolsw3 вы соглашаетесь прочитать и принять наши условия использования,
политику использования файлов cookie и конфиденциальности.

Авторское право 1999- © Copyright. Все права защищены. Schoolsw3 работает на SW3.CSS.