php xpath - funzioni di stringa su un attributo
Domanda
Qual è la sintassi corretta per applicare le funzioni di stringa (ad es. " normalize-space ") su un attributo usando la query xpath di seguito?
Query: " ./@ media "
Ho visto esempi di questo altrove ma se lo provo usando la libreria xpath di php non restituisce nulla ...
Soluzione
L'uso di query () su un oggetto DOMXPath sempre genera un set di nodi (racchiuso in un DOMNodeList object), mai in una stringa.
Non è possibile estrarre i risultati delle funzioni XPath. Devi interrogare i nodi che vuoi elaborare ed elaborarli in PHP.
Altri suggerimenti
Usa assess () invece di query ()
. Restituirà un risultato digitato. È disponibile da PHP 5.1.
$doc = new DOMDocument();
$xpath = new DOMXpath($doc);
$q = $xpath->evaluate('"test"');
var_dump($q);
uscita:
string(4) "test"
./[normalize-space(@media)
Prova questo.
Che ne dici di questo?
normalize-space(./@media)
Potresti anche provare: ma non credo sia necessario qui.