php xpath - строковые функции для атрибута

StackOverflow https://stackoverflow.com/questions/814391

  •  03-07-2019
  •  | 
  •  

Вопрос

Каков правильный синтаксис для применения строковых функций (например"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)

Вы также можете попробовать: но я не думаю, что это необходимо здесь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top