php xpath - строковые функции для атрибута - PullRequest
0 голосов
/ 02 мая 2009

Каков правильный синтаксис для применения строковых функций (например, "normalize-space") к атрибуту с использованием запроса xpath ниже?

Запрос: "./@media"

Я видел примеры этого в другом месте, но если я попробую это с помощью библиотеки php xpath, она ничего не даст ...

Ответы [ 4 ]

5 голосов
/ 28 февраля 2010

Используйте оценивать () вместо query() Он вернет типизированный результат. Он доступен с PHP 5.1.

$doc = new DOMDocument();
$xpath = new DOMXpath($doc);
$q = $xpath->evaluate('"test"');
var_dump($q);

Выход:

string(4) "test"
1 голос
/ 02 мая 2009

Использование query () для объекта DOMXPath всегда приведет к набору узлов (обернутому в DOMNodeList объект), а не в строку.

Вы не можете получить результаты функций XPath. Вы должны запросить узлы, которые хотите обработать, и обработать их на PHP.

0 голосов
/ 02 мая 2009

Как насчет этого?

normalize-space(./@media)

Вы также можете попробовать:

normalize-space(string(./@media))

но я не думаю, что это необходимо здесь.

0 голосов
/ 02 мая 2009
./[normalize-space(@media)

Пожалуйста, попробуйте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...