Справочник по PHP - [30]

Шрифт
Интервал

> of a documentary.

>

> 7

> 5

>

>

>XML;

?>

Простоту работы с SimpleXML можно продемонстрировать извлечением текста из заданного элемента XML-документа.

Пример 2. Получение текста в



>

>include 'example.php';

>$xml = simplexml_load_string($xmlstr);

>echo $xml->movie[0]->plot; // "So this language. It's like..."

?>

Пример 3. Работа с группой элементов в SimpleXML

Можно применять циклы для получения дочерних элементов заданного элемента (если дочерние элементы существуют).



>

>include 'example.php';


>$xml = simplexml_load_string($xmlstr);


>/* Для каждого элемента <movie> мы отображаем элемент . */

>foreach ($xml->movie as $movie) {

> echo $movie->plot, '<br />';

>}


?>

Пример 4. Использование атрибутов

Выше было показано как работать с элементами XML-документа и их значениями. SimpleXML также имеет доступ к атрибутам элементов. Атрибуты указанного элемента доступны как ассоциативный массив данного элемента.

>

>include 'example.php';


>$xml = simplexml_load_string($xmlstr);


>/* Получение доступа к атрибутам элементов <rating> для первого кино.*/

>foreach ($xml->movie[0]->rating as $rating) {

> switch((string) $rating['type']) { // Возвращает атрибуты как элементы массива

> case 'thumbs':

> echo $rating, ' thumbs up';

> break;

> case 'stars':

> echo $rating, ' stars';

> break;

> }

>}

?>

Пример 5. Сравнение элементов и их атрибутов с текстовыми значениями

Для того, чтобы сравнивать элемент или атрибут со строковыми значениями, или передавать содержание элемента или атрибута в функцию, которая использует строковое значение передаваемого параметра, вы должны использовать элементы и атрибуты как строки с признаком (string). В противном случае PHP воспримет передаваемое значение как объект.



>

>include 'example.php';


>$xml = simplexml_load_string($xmlstr);


>if ((string) $xml->movie->title == 'PHP: Behind the Parser') {

> print 'Мой любимый фильм.';

>}


>htmlentities((string) $xml->movie->title);

?>

Пример 6. Использование Xpath

В SimpleXML включена поддержка запросов Xpath. Поиск всех элементов :



>

>include 'example.php';

>$xml = simplexml_load_string($xmlstr);


>foreach ($xml->xpath('//character') as $character) {

> echo $character->name, ' съиграл ', $character->actor, '<br />';

>}

?>

'//' служит групповым символом. Чтобы задать абсолютный путь, требуется убрать один слеш.

Пример 7. Задание новых значений

Данные в SimpleXML не могут быть постоянными. Объект учитывает изменения всех его элементов.



>

>include 'example.php';

>$xml = simplexml_load_string($xmlstr);


>$xml->movie[0]->characters->character[0]->name = 'Miss Coder';


>echo $xml->asXML();

?>

Результатом вышеуказанного примера будет новый XML-документ, идеентичный оригиналу за исключением того, что в новом XML-документе будет вместо Ms. Coder будет Miss Coder.

Пример 8. Взаимодействие с DOM

PHP имеет механизм конвертации XML-документов из формата SimpleXML в DOM и обратно. Следующий пример показывает как конвертировать DOM-элемент в SimpleXML-элемент:

>

>$dom = new domDocument;

>$dom->loadXML('<books><book><title>blah</title></book></books>');

>if (!$dom) {

> echo 'Ошибка преобразования документа';

> exit;

>}


>$s = simplexml_import_dom($dom);


>echo $s->book[0]->title;

?>


Содержание:


SimpleXMLElement->asXML -- Возвращает правильно сформированный XML-документ

SimpleXMLElement->attributes -- Возвращает атрибуты элемента.

SimpleXMLElement->children -- Возвращает дочерние элементы для заданного элемента

SimpleXMLElement->xpath -- Выполняет Xpath-запрос к XML-данным

simplexml_import_dom -- Возвращает объектSimpleXMLElement, созданный из DOM-объекта.

simplexml_load_file -- Интерпретирует XML-файл в объект

simplexml_load_string -- Интерпретирует строку с XML в объект

asXML


SimpleXMLElement-asXML


SimpleXMLElement-asXML -- Возвращает правильно сформированный XML-документ


Описание


mixed SimpleXMLElement->asXML ( [string filename] )

Метод asXML формирует данные в XML версии 1.0.


Список параметров



Возвращаемые значения


Если имя файла задано, то метод запишет XML данные в указанный файл. В противном случае метод возвратит XML-данные в виде строки.


Замечания


Если в исходном документе в заголовках была указана кодировка XML-документа при помощи параметра encoding, то метод asXML возвратит XML-документ в указанной кодировке. Изменение кодировки XML-документа при помощи расширения SIMPLEXML невозможно.


Примеры


Пример 1. Вывести XML

>

>$string = <<

>

>

> text

> stuff

>

>

> code

>

>

>XML;


>$xml = simplexml_load_string($string);


>echo $xml->asXML(); // textstuff ...


?>

Метод asXML также может работать с Xpath:

Пример 2. Использование метода asXML() в работе с Xpath

>

>// Продолжение примера, указанного выше.

>/* Поиск */

>$result = $xml->xpath('/a/b/c');

>while(list( , $node) = each($result)) {

> echo $node->asXML(); // text и stuff

>}

?>


Еще от автора Неизвестный Автор
Галчонок

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Сборник рассказов о порке

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Саньтии Веды Перуна

Саньтии Веды Перуна (Книга Мудрости Перуна) одно из древнейших Славяно-Арийских Священных Преданий, сохраненных Жрецами-хранителями Древнерусской Инглиистической церкви Православных Староверов-Инглингов.


Призраки ночи

В книге собраны предания и поверья о призраках ночи — колдунах и ведьмах, оборотнях и вампирах, один вид которых вызывал неподдельный страх, леденивший даже мужественное сердце.


Закат  вечности

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


mmmavro.org | День 131, Победа

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Рекомендуем почитать
«Места массового уничтожения евреев Крыма в период нацистской оккупации полуострова, 1941—1944. Справочник»

Справочник содержит сведения об обстоятельствах «окончательного решения еврейского вопроса» нацистскими оккупантами в различных городах и селах Крыма в 1941–1944 гг. В статьях, расположенных по географическому принципу, приводятся данные об этапах нацистского геноцида по отношению к евреям, местах, датах и способах уничтожения еврейского населения, оккупационных карательных органах, ответственных за преступления, численности погибших.Издание адресовано историкам, социологам, преподавателям средних и высших учебных заведений, краеведам, а также всем, кто интересуется проблемами истории Крыма, Холокоста и Второй мировой войны.


Секреты автоподбора, или Как выбрать лучший на рынке подержанный автомобиль

Я не раз удивлялся и открывал для себя новое: ну, откуда этот парень может знать это? А это? Сколько же ему понадобилось сменить подержанных автомобилей, чтобы узнать всё это? И прочитав всю эту книгу, я ни разу не испытал чувства протеста, несогласия с автором. Поэтому и рекомендую ее вам, дорогой читатель, – с чистой совестью. Юрий Гейко, журналист, автор и ведущий программы «Автоликбез» на «Авторадио».


Москва футбольная. Полная история в лицах, событиях, цифрах и фактах

Издание знакомит читателя с увлекательной историей зарождения и становления столичного футбола, его великими победами и горькими поражениями, славными традициями, сложившимися на протяжении более чем векового периода. Впервые документально обобщена и представлена обширная и интересная информация обо всех московских командах, тренерах и игроках, когда-либо выступавших в клубном первенстве Москвы (до 1936 г.), в высшем и первом эшелонах отечественного футбола, на крупнейших международных турнирах, рассказано о вкладе москвичей в успехи нашей национальной сборной команды.


Краткий медицинский терминологический словарь

Вашему вниманию предлагается Краткий медицинский терминологический словарь.


С Америкой на «ты»

«С Америкой на „ты“ — это второе издание справочника о современной Америке. Он адресован, в основном, тем, кто собирается или уже приехал в США. Автор книги Борис Талис, гражданин Америки, как и любой другой иммигрант, прошел нелегкий путь адаптации, не по наслышке знает о трудностях, с которыми сталкиваются те, кто волею судьбы оказываются в незнакомой стране, и искренне стремится им помочь.Из книги вы узнаете все самое важное о жизни в США! От государственного и политического устройства страны до житейских советов и пословиц.


Телефонный компас

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.