質問
以下のxpathクエリを使用して、属性に文字列関数(" normalize-space"など)を適用するための正しい構文は何ですか?
クエリ:" ./@ media"
他の場所でこの例を見てきましたが、phpのxpathライブラリを使用して試しても、何も返されません...
解決
DOMXPathオブジェクトで query()を使用すると、 >常にノードセットになります( DOMNodeList オブジェクト)、決して文字列ではありません。
XPath関数の結果を引き出すことはできません。処理するノードを照会し、PHPで処理する必要があります。
他のヒント
query()の代わりに evaluate()を使用する
。型付きの結果を返します。 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)
試してみることもできます:しかし、ここでは必要ないと思います。
所属していません StackOverflow