아래 xpath 쿼리를 사용하여 속성에 문자열 함수 (예 : "normalize-space")를 적용하는 올바른 구문은 무엇입니까?php xpath - 속성에 대한 문자열 함수
검색어 : "./@media"
내가 다른이의 예를 본 적이 있지만, 나는 그것이 PHP의 XPath는 라이브러리를 사용하려고하면 그것은 아무 것도 반환하지 않습니다 ...
아래 xpath 쿼리를 사용하여 속성에 문자열 함수 (예 : "normalize-space")를 적용하는 올바른 구문은 무엇입니까?php xpath - 속성에 대한 문자열 함수
검색어 : "./@media"
내가 다른이의 예를 본 적이 있지만, 나는 그것이 PHP의 XPath는 라이브러리를 사용하려고하면 그것은 아무 것도 반환하지 않습니다 ...
것이다 (A DOMNodeList 객체에 싸여) 노드 집합에서 항상 결과, 결코 문자열입니다.
XPath 함수의 결과를 추출 할 수 없습니다. 처리 할 노드를 쿼리하고 PHP로 처리해야합니다.
./[normalize-space(@media)
이 시도하십시오.
그래, 그것을 시도하고이 오류를 반환합니다 - 잡을 수있는 치명적인 오류 : DOMElement 클래스의 객체를 – EddyR
query()
대신 evaluate()을 사용하십시오. 형식화 된 결과를 반환합니다. PHP 5.1부터 사용할 수 있습니다.
$doc = new DOMDocument();
$xpath = new DOMXpath($doc);
$q = $xpath->evaluate('"test"');
var_dump($q);
출력 :
string(4) "test"
좋은 추가, +1. – Tomalak
내 전체 코드는 다음과 같습니다. $ xpath-> 쿼리 ("./ [(-정상화 공간 @"$ {. $ 태그 "attributeitem"}, $ {$ "0") – EddyR
$ tag는 어떤 유형입니까? var_dump ($ tag); 말할 수 있습니다. – VolkerK