xpath_eval_expression
(PHP 4 >= 4.0.4)
xpath_eval_expression — Evaluates the XPath Location Path in the given string
Описание
XPathContext
XPathObject xpath_eval_expression
( XPathContext $xpath_context
, string $expression
[, domnode $contextnode
] )
Пример #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().
[an error occurred while processing the directive]
- DomAttribute::name
- DomAttribute::set_value
- DomAttribute::specified
- DomAttribute::value
- DomDocument::add_root
- DomDocument::create_attribute
- DomDocument::create_cdata_section
- DomDocument::create_comment
- DomDocument::create_element_ns
- DomDocument::create_element
- DomDocument::create_entity_reference
- DomDocument::create_processing_instruction
- DomDocument::create_text_node
- DomDocument::doctype
- DomDocument::document_element
- DomDocument::dump_file
- DomDocument::dump_mem
- DomDocument::get_element_by_id
- DomDocument::get_elements_by_tagname
- DomDocument::html_dump_mem
- DomDocument::xinclude
- DomDocumentType::entities
- DomDocumentType::internal_subset
- DomDocumentType::name
- DomDocumentType::notations
- DomDocumentType::public_id
- DomDocumentType::system_id
- DomElement::get_attribute_node
- DomElement::get_attribute
- DomElement::get_elements_by_tagname
- DomElement::has_attribute
- DomElement::remove_attribute
- DomElement::set_attribute_node
- DomElement::set_attribute
- DomElement::tagname
- DomNode::add_namespace
- DomNode::append_child
- DomNode::append_sibling
- DomNode::attributes
- DomNode::child_nodes
- DomNode::clone_node
- DomNode::dump_node
- DomNode::first_child
- DomNode::get_content
- DomNode::has_attributes
- DomNode::has_child_nodes
- DomNode::insert_before
- DomNode::is_blank_node
- DomNode::last_child
- DomNode::next_sibling
- DomNode::node_name
- DomNode::node_type
- DomNode::node_value
- DomNode::owner_document
- DomNode::parent_node
- DomNode::prefix
- DomNode::previous_sibling
- DomNode::remove_child
- DomNode::replace_child
- DomNode::replace_node
- DomNode::set_content
- DomNode::set_name
- DomNode::set_namespace
- DomNode::unlink_node
- DomProcessingInstruction::data
- DomProcessingInstruction::target
- DomXsltStylesheet::process
- DomXsltStylesheet::result_dump_file
- DomXsltStylesheet::result_dump_mem
- domxml_new_doc
- domxml_open_file
- domxml_open_mem
- domxml_version
- domxml_xmltree
- domxml_xslt_stylesheet_doc
- domxml_xslt_stylesheet_file
- domxml_xslt_stylesheet
- domxml_xslt_version
- xpath_eval_expression
- xpath_eval
- xpath_new_context
- xpath_register_ns_auto
- xpath_register_ns
- xptr_eval
- xptr_new_context
Коментарии
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 !!!