Базове використання SimpleXML

Деякі приклади цього посібника включають рядок XML. Замість того, щоб повторювати її в кожному прикладі, покладіть цей рядок у файл, який включайте в кожному прикладі. Цей рядок наведено у наступному прикладі. Крім цього, можна створити XML-документ і зчитувати його функцією simplexml_load_file()

Приклад #1 Файл example.php з рядком XML

Loading...

SimpleXML користуватися дуже просто! Спробуйте отримати якийсь рядок чи число з базового документа XML.

Приклад #2 Получение части документа<plot>

Loading...

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

Таким образом, это язык. Это всё равно язык программирования. Или
   это скриптовый язык? Все раскрывается в этом документальном фильме,
   похожем на фильм ужасов.

У PHP отримати доступ до елемента в XML документі, що містить у назві неприпустимі символи (наприклад, дефіс), можна шляхом укладання цього імені елемента у фігурні дужки та апострофи.

Приклад #3 Получение строки<line>

Loading...

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

PHP решает все мои проблемы в вебе

Приклад #4 Доступ до неунікальних елементів SimpleXML

Якщо існує кілька екземплярів дочірніх елементів в одному батьківському елементі, то потрібно застосовувати стандартні методи ітерації.

Loading...

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

Ms. Coder играет Onlivia Actora
Mr. Coder играет El ActÓr

Зауваження :

Властивості ($movies->movie у попередньому прикладі) не є масивами. Це ітерований об'єкт у вигляді масиву

Приклад #5 Використання атрибутів

Досі ми лише отримували назви та значення елементів. SimpleXML може також отримати доступ до атрибутів елемента. Отримати доступ до атрибуту елемента можна так само, як і до елементів масиву (array).

Loading...

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

7 thumbs up5 stars

Приклад #6 Порівняння елементів та атрибутів з текстом

Для порівняння елемента або атрибута з рядком або для передачі в функцію як текст, необхідно привести його до рядка, використовуючи (string). В іншому випадку, PHP розглядатиме елемент як об'єкт.

Loading...

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

Мой любимый фильм.PHP: Появление Парсера

Приклад #7 Порівняння двох елементів

Два елементи SimpleXMLElements вважаються різними, навіть якщо вони вказують на той самий об'єкт.

Loading...

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

bool(false)

Приклад #8 Використання XPath

SimpleXML включає вбудовану підтримку XPath. Пошук усіх елементів <character> :

Loading...

'//' служить як шаблон. Для вказівки абсолютного шляху опустіть одну з косих рис.

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

Ms. Coder играет Onlivia Actora
Mr. Coder играет by El ActÓr

Приклад #9 Встановлення значень

Дані SimpleXML не обов'язково повинні бути незмінними. Об'єкт дозволяє маніпулювати всіма елементами.

Loading...

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

<?xml version="1.0" standalone="yes"?>
<movies>
 <movie>
  <title>PHP: Появление Парсера</title>
  <characters>
   <character>
    <name>Miss Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  </characters>
  <plot>
   Таким образом, это язык. Это всё равно язык программирования. Или
   это скриптовый язык? Все раскрывается в этом документальном фильме,
   похожем на фильм ужасов.
  </plot>
  <great-lines>
   <line>PHP решает все мои задачи в web</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 </movie>
</movies>

Приклад #10 Додавання елементів та атрибутів

SimpleXML має можливість легко додавати дочірні елементи та атрибути.

Loading...

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

<?xml version="1.0" standalone="yes"?>
<movies>
 <movie>
  <title>PHP: Появление Парсера</title>
  <characters>
   <character>
    <name>Ms. Coder</name>
    <actor>Onlivia Actora</actor>
   </character>
   <character>
    <name>Mr. Coder</name>
    <actor>El Act&#xD3;r</actor>
   </character>
  <character><name>Mr. Parser</name><actor>John Doe</actor></character></characters>
  <plot>
   Таким образом, это язык. Это всё равно язык программирования. Или
   это скриптовый язык? Все раскрывается в этом документальном фильме,
   похожем на фильм ужасов.
  </plot>
  <great-lines>
   <line>PHP решает все мои задачи в web</line>
  </great-lines>
  <rating type="thumbs">7</rating>
  <rating type="stars">5</rating>
 <rating type="mpaa">PG</rating></movie>
</movies>

Приклад #11 Взаємодія з DOM

PHP може перетворювати XML-вузли з SimpleXML у формат DOM і навпаки. Цей приклад показує, як можна змінити DOM-елемент у SimpleXML.

Loading...

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

чепуха