 |
Продолжаем тему 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
Читать далее »
Июль 15, 2008 | Автор :
Novice | 7 Комментариев
 |
Вот я и добрался до XPath, как и обещал. Изучив этот язык запросов к XML-данным, я пришел к выводу, что это очень мощный инструмент для извлечения информации из XML. И рассказать о нем в одной статье было бы не очень хорошо с моей стороны. Таким образом я продолжаю тему парсинга XML-файлов, очень актуальную в наше время.
|
А начата эта тема несколькими постами ранее:
Первый post о том, как я научился парсить XML
Про SimpleXML
Надеюсь, вы их не пропустили
Итак, сначала расскажу, как выполнять XPath-выражения в PHP, а потом – про сами выражения. Для выполнения XPath я воспользовался двумя способами:
- Функциями DOM XML
- Классом SimpleXML
Читать далее »
Июль 12, 2008 | Автор :
Novice | 19 Комментариев
 |
Я уже останавливался на теме парсинга XML-файлов в статье Как я научился парсить XML в PHP. Сегодня я обнаружил, что есть способ вытаскивать данные из XML гораздо более приятный и менее подверженный ошибкам. Способ этот основан на использовании расширения SimpleXML, которое доступно в PHP начиная с версии 5. |
Читать далее »
Июль 01, 2008 | Автор :
Novice | 39 Комментариев