Базове використання 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Ó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Ó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...
Результат виконання наведеного прикладу:
чепуха