(PHP 4)
xpath_eval_expression — Evaluates the XPath Location Path in the given string
Beispiel #1 xpath_eval_expression() Example
<?php
include("example.inc");
if (!$dom = domxml_open_mem($xmlstr)) {
echo "Error while parsing the document\n";
exit;
}
$xpath = xpath_new_context($dom);
var_dump(xpath_eval_expression($xpath, '/chapter/@language'));
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
object(XPathObject)(2) { ["type"]=> int(1) ["nodeset"]=> array(1) { [0]=> object(domattribute)(5) { ["type"]=> int(2) ["name"]=> string(8) "language" ["value"]=> string(2) "en" [0]=> int(7) [1]=> int(138004256) } } }
See also xpath_eval().
For those who use PHP5 and the domxml module of PECL : this function doesn't return the same thing if the result is "empty".
Look at this example using the code and the XML file :
<?php
/* ...
... code to get a xpath ...
... */
$ret = xpath_eval_expression($xPath, "/some/thing | /other/thing");
var_dump($ret);
?>
If the xpath doesn't match anything :
- In PHP4, this code displays
bool(false)
- In PHP5 (with PECL domxml module) , this code displays
object(XPathObject)#25 (2) {
["type"]=>
int(1)
["nodeset"]=>
array(0) {
}
which is NOT false !!!