ConFoo: Call for paper is now Open

xpath_eval_expression

(PHP 4)

xpath_eval_expression ارزیابی محل مسیر XPath در رشته داده شده

Description

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

<?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'));

?>

The above example will output:

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)
     }
  }
}

xpath_eval() را ببینید.

add a note add a note

User Contributed Notes 1 note

up
0
trotters213 at msn dot com
5 years ago
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 !!!
To Top