php xpath - Bir öznitelik string fonksiyonları

4 Cevap php

Aşağıdaki XPath sorgusu kullanarak öznitelik (örneğin "normalize-space") dize işlevlerini uygulamak için doğru sözdizimi nedir?

Sorgu: ". / @ Media"

Ben başka bir yerde bu örneklerini gördüm ama ben php xpath kütüphanesi kullanarak çalışın eğer hiçbir şey döndürür ...

4 Cevap

query() always bir düğüm kümesi (a DOMNodeList nesne sarılmış), asla bir dize sonuçlanacak bir DOMXPath nesne üzerinde kullanma.

Siz XPath fonksiyonların sonuçlarını çekemez. Eğer işlemek istediğiniz düğümleri sorgulamak ve PHP bunları işlemek gerekir.

evaluate() yerine query() arasında kullanın. Bu yazılı bir sonuç dönecektir. PHP 5.1 'den beri mevcut bulunuyor.

$doc = new DOMDocument();
$xpath = new DOMXpath($doc);
$q = $xpath->evaluate('"test"');
var_dump($q);

çıktı:

string(4) "test"
./[normalize-space(@media)

Bu deneyin.

Bu nasıl?

normalize-space(./@media)

Şunu da deneyebilirsiniz:

normalize-space(string(./@media))

ama ben burada neccessary sanmıyorum.