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