(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 !!!