PHP SimpleXML выполняет наиболее распространенные задачи XML, оставляя остальное другим расширениям.
SimpleXML — новая функция PHP 5.
Расширение SimpleXML предоставляет простой способ получения имени и текста элемента XML.
По сравнению с парсерами DOM или Expat, SimpleXML может считывать текстовые данные из элементов XML с помощью всего лишь нескольких строк кода.
SimpleXML может преобразовывать документы XML (или строки XML) в такие объекты, как:
Элемент преобразуется в одно свойство объекта SimpleXMLElement. Если на одном уровне имеется несколько элементов, они помещаются в массив.
Доступ к свойствам осуществляется с помощью ассоциативного массива, индекс которого соответствует имени свойства.
Текст внутри элемента преобразуется в строку. Если элемент имеет несколько текстовых узлов, они располагаются в том порядке, в котором они находятся.
SimpleXML очень быстро использовать при выполнении основных задач, таких как:
Чтение/извлечение данных из XML-файлов/строк
Редактировать текстовый узел или атрибут
Однако при работе с расширенным XML, например с пространствами имен, лучше использовать парсер Expat или XML DOM.
Начиная с PHP 5, функции SimpleXML являются частью ядра PHP. Для использования этих функций установка не требуется.
Предположим, у нас есть следующий XML-файл «note.xml»:
< ? версия = " 1.0 " кодировка = " ISO-8859-1 " ?> <примечание> < to > Туве </ to > < от > Яни </ от > < заголовок > Напоминание </ заголовок > <body> Не забудь меня на этих выходных </body> ! </ примечание >Теперь мы хотим вывести различную информацию из приведенного выше XML-файла:
Выведите ключи и элементы переменной $xml (которая является объектом SimpleXMLElement):
<?php $xml = simplexml_load_file ( " note.xml " ) ; print_r ( $xml ) ? >;Приведенный выше код выведет:
Объект SimpleXMLElement ( [to] => Туве [от] => Яни [заголовок] => Напоминание [тело] => Не забудь меня на этих выходных! )
Выходные данные для каждого элемента в XML-файле:
<?php $ xml = simplexml_load_file ( " note.xml " ) ; $ xml - > в " <br> " ; $ xml - > из " <br> " ; $ xml - > заголовок « <br> » ; $xml -> тело ? >Приведенный выше код выведет:
ТувеЯниНапоминаниеНе забудь меня на этих выходных!
Выведите имя элемента и данные для каждого дочернего узла:
<?php $ xml = simplexml_load_file ( " note.xml " ) ; $xml -> getName ( ) « <br> » ; foreach ( $xml - > Children ( ) как $ребёнок ) { эхо $ child - > getName ( ) " : " $ child " <br> " ; ?>Приведенный выше код выведет:
noteto: Toveот: JaniЗаголовок: Напоминание: Не забудь меня на этих выходных!
Чтобы узнать больше о функциях PHP SimpleXML, посетите наше справочное руководство PHP SimpleXML.