(No version information available, might be only in CVS)
DOMXPath->query() — Valuta l'espressione XPath
Esegue la query XPath data.
La query XPath da eseguire.
Il parametro opzinale contextnode serve per indicare di eseguire query XPath relative. Per default le query sono relative all'elemento radice.
Restituisce un oggetto DOMNodeList contenente tutti i nodi che soddisfano la condizione expression . Qualsiasi espressione che non restituisce nodi creerà un DOMNodeList vuoto.
Example#1 Ottenere il numero dei libri inglesi
<?php
$doc = new DOMDocument;
// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;
$doc->Load('book.xml');
$xpath = new DOMXPath($doc);
// Partiamo dell'elemento radice
$query = '//book/chapter/para/informaltable/tgroup/tbody/row/entry[. = "en"]';
$entries = $xpath->query($query);
foreach ($entries as $entry) {
echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
" by {$entry->previousSibling->nodeValue}\n";
}
?>
Il precedente esempio visualizzerà:
Found The Grapes of Wrath, by John Steinbeck Found The Pearl, by John Steinbeck
Possiamo utilizzare il parametro contextnode per ridurre l'espressione:
<?php
$doc = new DOMDocument;
$doc->preserveWhiteSpace = false;
$doc->load('book.xml');
$xpath = new DOMXPath($doc);
$tbody = $doc->getElementsByTagName('tbody')->item(0);
// query relativa ai nodi tbody
$query = 'row/entry[. = "en"]';
$entries = $xpath->query($query, $tbody);
foreach ($entries as $entry) {
echo "Found {$entry->previousSibling->previousSibling->nodeValue}," .
" by {$entry->previousSibling->nodeValue}\n";
}
?>