Базовое использование SimpleXMLНекоторые примеры этого руководства включают XML-строку. Вместо того, чтобы повторять ее в каждом примере, положите эту строку в файл, который и включайте в каждом примере. Эта строка приведена в следующем примере. Помимо этого можно создать XML-документ и считывать его функцией simplexml_load_file().
Пример #1 Файл example.php с XML строкой
<?phpSimpleXML пользоваться очень просто! Попробуйте получить какую-нибудь строку или число из базового XML документа. Пример #2 Получение части документа <plot>
<?phpРезультат выполнения данного примера: Таким образом, это язык. Это все равно язык программирования. Или это скриптовый язык? Все раскрывается в этом документальном фильме, похожем на фильм ужасов. В PHP получить доступ к элементу в XML документе, содержащим в названии недопустимые символы (например, дефис), можно путем заключения данного имени элемента в фигурные скобки и апострофы. Пример #3 Получение строки <line>
<?phpРезультат выполнения данного примера: PHP решает все мои проблемы в web
Пример #4 Доступ к не уникальным элементам в SimpleXML В том случае, если существует несколько экземпляров дочерних элементов в одном родительском элементе, то нужно применять стандартные методы итерации.
<?phpРезультат выполнения данного примера: Ms. Coder играет Onlivia Actora Mr. Coder играет El Act?r
Пример #5 Использование атрибутов До сих пор мы только читали названия и значения элементов. SimpleXML может так же получать доступ к атрибутам элемента. Получить доступ к атрибуту элемента можно так же, как к элементам массива array.
<?phpРезультат выполнения данного примера: 7 thumbs up5 stars
Пример #6 Сравнение элементов и атрибутов с текстом Для сравнения элемента или атрибута со строкой или для передачи в функцию в качестве текста, необходимо привести его к строке, используя (string). В противном случае, PHP будет рассматривать элемент как объект.
<?phpРезультат выполнения данного примера: Мой любимый фильм.PHP: Появление Парсера
Пример #7 Сравнение двух элементов Два элемента SimpleXMLElements считаются различными, даже если они указывают на один и тот же объект начиная с PHP 5.2.0.
<?phpРезультат выполнения данного примера: bool(false)
Пример #8 Использование XPath SimpleXML включает в себя встроенную поддержку XPath. Поиск всех элементов <character>:
<?php'//' служит в качестве шаблона. Для указания абсолютного пути, опустите одну из косых черт. Результат выполнения данного примера: Ms. Coder играет Onlivia Actora Mr. Coder играет by El Act?r
Пример #9 Установка значений Данные в SimpleXML не могут быть постоянными. Объект позволяет манипулировать всеми элементами.
<?phpРезультат выполнения данного примера:
<?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 Добавление элементов и атрибутов Начиная с PHP 5.1.3, SimpleXML имеет возможность легко добавлять дочерние элементы и атрибуты.
<?phpРезультат выполнения данного примера:
<?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.
<?phpРезультат выполнения данного примера: blah |
||