Skip to main content

Парсер XML PHP с использованием SimpleXML. Примеры

Парсер XML PHP с использованием SimpleXML. Примеры

Существует несколько способов парсить XML-данные с использованием PHP, один из которых — SimpleXML. В предыдущей статье мы уже рассматривали, как парсить RSS ленты с помощью этой замечательной библиотеки. Библиотека входит в состав PHP начиная с 5 версии. Парсить и манипулировать данными из XML с ней довольно легко и просто.

Пример 1

Здесь мы показываем очень простой синтаксический анализ, используя текст XML, переданный с помощью simplexml_load_string. Затем мы выводим объект, возвращаемый simplexml_load_string, как показано ниже. Для загрузки из файла также существует функция simplexml_load_file, пример simplexml_load_file приведен в конце этого руководства.

<?php
$xmlData=simplexml_load_string("<root><node>This is a node</node></root>");
echo var_dump($xmlData);
?>

Пример 2

Здесь мы покажем, как получить доступ к элементу внутри объекта, возвращаемого simplexml_load_string. Это просто основные обозначения объектов.

<?php
$xmlData=simplexml_load_string("<root><node>This is a node</node></root>");
echo $xmlData->node;
?>

Пример 3

Доступ к атрибуту:

<?php
$xmlData=simplexml_load_string("<root><nodes><node1 exampleAttribute='sample attribute'>Node 1 Content</node1></nodes></root>");
echo "Node 1 content is ".$xmlData->nodes->node1;
echo "Node 1 attribute is ".$xmlData->nodes->node1->attributes()->exampleAttribute;
?>

Пример 4

Итерирование атрибутов:

<?php
$xmlData=simplexml_load_string("<root><node1 att1='ATT1' att2='ATT2'>Content</node1></root>");
foreach ($xmlData->node1->attributes() as $attributeName=>$attributeValue)
{
 echo "Node 1 has ".$attributeName . " with the value of " . $attributeValue;
}
?>

Пример 5

Создание XML: вы добавляете дочерние узлы и атрибуты в объект xml, используя addChild и addAttributes.

<?php
$xmlData=simplexml_load_string("<xml></xml>");
 
// Добавление дочерних узлов
$book1=$xmlData->addChild("book1");
$book2=$xmlData->addChild("book2");
 
// Добавление атрибутов
$book1->addAttribute("title", "Book1Title");
$book2->addAttribute("title", "Book2Title");
 
$book1->addChild("author", "Jim");
$book2->addChild("author", "James");
?>

Приведенный выше код создает XML, который выглядит следующим образом:

<xml>
 <book1 title="Book1Title">
 <author>Jim</auhor>
 </book1>
 <book2 title="Book2Title">
 <author>James</author>
 </book2>
</xml>
<?php
echo $xmlData->book1->attributes()->title. "n";
echo $xmlData->book2->attributes()->title. "n";
echo $xmlData->book1->author. "n";
echo $xmlData->book2->author. "n";
?>

Пример 6

Создание XML Это тот же метод, что и в примере 5, но с использованием конструктора SimpleXMLElement. Конструктор принимает либо строку, либо URL:

<?php
$xmlData=new SimpleXMLElement("<xml></xml>");
 
// Adding child nodes
$book1=$xmlData->addChild("book1");
$book1->addAttribute("title", "Book1Title");
$book1->addChild("author", "Jim");
 
echo $book1->attributes()->title. "n";
echo $book1->author. "n";
?>
Похожие записи
Удалить значение из массива на PHP

Удалить значение из массива по ключу на PHP довольно простая задача, но вот когда необходимо... Читать далее

Создание чат-бота для Viber

В этой статье рассмотрим как создать простого чат-бота для Viber, который будет принимать и отправлять... Читать далее

Регулярные выражения PHP: preg_match, preg_split, preg_replace

Регулярные выражения - это мощный алгоритм сопоставления с образцом, который может быть выполнен в одном... Читать далее

Интеграция/чтение RSS PHP. PHP скрипт вывода RSS

В PHP начиная с 5 версии есть встроенная библиотека для работы с XML данными SimpleXML.... Читать далее

Отправка письма с вложениями на PHP и AJAX

Мы уже рассматривали, как сделать форму обратной связи на PHP и Ajax. Сегодня мы модернизируем... Читать далее

PHP работа с изображениями. Библиотека PHP GD

PHP является мощным языком сценариев, и существует множество мощных плагинов. Одним из них является GD,... Читать далее

Добавить комментарий

*

code