SimpleXML PHP

SimpleXML обрабатывает наиболее распространенные задачи XML,其余 задачи передаются другим расширениям.

Что такое SimpleXML?

SimpleXML - это новая функция в PHP 5. В условиях понимания структуры документа XML, это удобный способ получения свойств и текста элементов.

В отличие от анализаторов DOM или Expat, SimpleXML может читать текстовые данные из элементов всего несколькими строками кода.

SimpleXML может преобразовать документ XML в объект, например:

  • Элементы - это единственные свойства, преобразующиеся в объект SimpleXMLElement. При наличии нескольких элементов на одном уровне они поместятся в массив.
  • Свойства - доступ к ним осуществляется через связанный массив, где индексы соответствуют именам свойств.
  • Данные элементов - текстовые данные элементов преобразуются в строку. Если у элемента несколько текстовых узлов, они排列аются в порядке их обнаружения.

SimpleXML очень удобен при выполнении таких базовых задач:

  • Чтение файла XML
  • Извлечение данных из строки XML
  • Редактирование текстовых узлов или свойств

Однако, при обработке сложных XML, таких как пространства имен, лучше использовать анализатор Expat или XML DOM.

Установка

С PHP 5.0 SimpleXML функция является частью ядра PHP. Эти функции могут быть использованы без установки.

Использование SimpleXML

Ниже приведен файл XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

Мы намерены выводить имена и данные элементов из указанного выше файла XML.

Вот что нужно сделать:

  1. Загрузка файла XML
  2. Получение имени первого элемента
  3. Создание цикла с помощью функции children() для каждого подузла
  4. Вывод элемента каждого подузла с именем и данными

Пример

<?php
$xml = simplexml_load_file("test.xml");
echo $xml->getName() . "<br />";
foreach($xml->children() as $child)
  {
  echo $child->getName() . ": " . $child . "<br />";
  }
?>

Вывод кода выше:

note
to: George
from: John
heading: Памятка
body: Не забудьте встречу!

Больше информации о PHP SimpleXML

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