ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

PHP учебник

PHP HOME PHP Intro PHP Install PHP Syntax PHP Variables PHP Echo / Print PHP Data Types PHP Strings PHP Constants PHP Operators PHP If...Else...Elseif PHP Switch PHP While Loops PHP For Loops PHP Functions PHP Arrays PHP Sorting Arrays PHP Superglobals

PHP Forms

PHP Form Handling PHP Form Validation PHP Form Required PHP Form URL/E-mail PHP Form Complete

PHP Advanced

PHP Arrays Multi PHP Date and Time PHP Include PHP File Handling PHP File Open/Read PHP File Create/Write PHP File Upload PHP Cookies PHP Sessions PHP Filters PHP Filters Advanced PHP Error Handling PHP Exception

MySQL Database

MySQL Database MySQL Connect MySQL Create DB MySQL Create Table MySQL Insert Data MySQL Get Last ID MySQL Insert Multiple MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Intro AJAX PHP AJAX Database AJAX XML AJAX Live Search AJAX RSS Reader AJAX Poll

PHP Examples


PHP Reference

PHP Overview PHP Array PHP Calendar PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones


PHP SimpleXML Parser


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>html css</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.