mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
Added DOMNode::getNodePath() for getting an XPath for a node.
This commit is contained in:
parent
17f6ae66ce
commit
dc8ba6f475
1
NEWS
1
NEWS
@ -77,6 +77,7 @@ PHP NEWS
|
||||
- Added pg_field_table() function. (Edin)
|
||||
- Added SimpleXMLElement::saveXML() as an alias for SimpleXMLElement::asXML().
|
||||
(Hannes)
|
||||
- Added DOMNode::getNodePath() for getting an XPath for a node. (Christian)
|
||||
|
||||
- Optimized zend_try/zend_catch macros by eliminating memcpy(3). (Dmitry)
|
||||
- Optimized require_once() and include_once() by eliminating fopen(3)
|
||||
|
@ -167,6 +167,7 @@ PHP_FUNCTION(dom_node_set_user_data);
|
||||
PHP_FUNCTION(dom_node_get_user_data);
|
||||
PHP_METHOD(domnode, C14N);
|
||||
PHP_METHOD(domnode, C14NFile);
|
||||
PHP_METHOD(domnode, getNodePath);
|
||||
|
||||
/* domnodelist methods */
|
||||
PHP_FUNCTION(dom_nodelist_item);
|
||||
|
@ -53,6 +53,7 @@ zend_function_entry php_dom_node_class_functions[] = {
|
||||
PHP_FALIAS(getFeature, dom_node_get_feature, NULL)
|
||||
PHP_FALIAS(setUserData, dom_node_set_user_data, NULL)
|
||||
PHP_FALIAS(getUserData, dom_node_get_user_data, NULL)
|
||||
PHP_ME(domnode, getNodePath, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(domnode, C14N, NULL, ZEND_ACC_PUBLIC)
|
||||
PHP_ME(domnode, C14NFile, NULL, ZEND_ACC_PUBLIC)
|
||||
{NULL, NULL, NULL}
|
||||
@ -1857,3 +1858,32 @@ PHP_METHOD(domnode, C14NFile)
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* {{{ proto int DOMNode::getNodePath()
|
||||
Gets an xpath for a node */
|
||||
|
||||
PHP_METHOD(domnode, getNodePath)
|
||||
{
|
||||
zval *id;
|
||||
xmlNode *nodep;
|
||||
dom_object *intern;
|
||||
char *value;
|
||||
|
||||
|
||||
if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "O", &id, dom_node_class_entry) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
DOM_GET_OBJ(nodep, id, xmlNodePtr, intern);
|
||||
|
||||
value = xmlGetNodePath(nodep);
|
||||
if (value == NULL) {
|
||||
RETURN_EMPTY_STRING();
|
||||
} else {
|
||||
RETVAL_STRING(value, 1);
|
||||
xmlFree(value);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user