Каков правильный синтаксис для применения строковых функций (например, "normalize-space") к атрибуту с использованием запроса xpath ниже?
Запрос: "./@media"
Я видел примеры этого в другом месте, но если я попробую это с помощью библиотеки php xpath, она ничего не даст ...
Используйте оценивать () вместо query() Он вернет типизированный результат. Он доступен с PHP 5.1.
query()
$doc = new DOMDocument(); $xpath = new DOMXpath($doc); $q = $xpath->evaluate('"test"'); var_dump($q);
Выход:
string(4) "test"
Использование query () для объекта DOMXPath всегда приведет к набору узлов (обернутому в DOMNodeList объект), а не в строку.
Вы не можете получить результаты функций XPath. Вы должны запросить узлы, которые хотите обработать, и обработать их на PHP.
Как насчет этого?
normalize-space(./@media)
Вы также можете попробовать:
normalize-space(string(./@media))
но я не думаю, что это необходимо здесь.
./[normalize-space(@media)
Пожалуйста, попробуйте это.