DOM XML (PHP 4) 函数
在线手册:中文 英文
PHP手册

xpath_eval_expression

(PHP 4)

xpath_eval_expression Evaluates the XPath Location Path in the given string

说明

XPathObject XPathContext::xpath_eval_expression ( string $expression [, domnode $contextnode ] )
XPathObject xpath_eval_expression ( XPathContext $xpath_context , string $expression [, domnode $contextnode ] )

Example #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'));

?>

以上例程会输出:

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().


DOM XML (PHP 4) 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Evaluates the XPath Location Path in the given string

用户评论:

trotters213 at msn dot com (15-Jan-2009 10:42)

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