Novice
Продолжаем тему XPath, начатую в статье PHP+XML+XPath. Часть 1. В конце предыдущей статьи я обещал рассмотреть оси в XPath и математические функции.

Ось child

Когда мы пишем запрос вида /books/book, мы на самом деле подразумеваем /child::books/child::book, или /child::books/book, или /books/child:book. Любой из этих вариантов имеет один и тот же смысл: взять дочерние элементы контекстного узла. По умолчанию child:: можно опустить, чтобы не загружать мозги лишними символами :)

Заметим еще, что имя оси, т.е. «child» относится к элементу, после которого пишется. Т.е. в запросе /books/child:book ключевое слово child относится к books.

Оси descendant и descendant-or-self

Если у узлов есть «дети», то должны быть и «потомки». Данная ось как раз и подразумевает это:

/descendant::* – выберет все потомки корневого узла (все элементы), не включая сам контекстный узел

/books/book/descendant::* – выберет все потомки узла book, у которого предок books
Читать далее »

Novice
Вот я и добрался до XPath, как и обещал. Изучив этот язык запросов к XML-данным, я пришел к выводу, что это очень мощный инструмент для извлечения информации из XML. И рассказать о нем в одной статье было бы не очень хорошо с моей стороны. Таким образом я продолжаю тему парсинга XML-файлов, очень актуальную в наше время.

А начата эта тема несколькими постами ранее:
Первый post о том, как я научился парсить XML
Про SimpleXML

Надеюсь, вы их не пропустили ;)

Итак, сначала расскажу, как выполнять XPath-выражения в PHP, а потом – про сами выражения. Для выполнения XPath я воспользовался двумя способами:

  1. Функциями DOM XML
  2. Классом SimpleXML

Читать далее »

Novice
Я уже останавливался на теме парсинга XML-файлов в статье Как я научился парсить XML в PHP. Сегодня я обнаружил, что есть способ вытаскивать данные из XML гораздо более приятный и менее подверженный ошибкам. Способ этот основан на использовании расширения SimpleXML, которое доступно в PHP начиная с версии 5.

Читать далее »




© 2008 - 2010 i-novice.net | Все права защищены.