diff options
-rw-r--r-- | ext/simplexml/simplexml.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/ext/simplexml/simplexml.c b/ext/simplexml/simplexml.c index 302703be7d..1674250ce4 100644 --- a/ext/simplexml/simplexml.c +++ b/ext/simplexml/simplexml.c @@ -113,7 +113,14 @@ sxe_property_read(zval *object, zval *member TSRMLS_DC) node = node->xmlChildrenNode; while (node) { - if (!xmlStrcmp(node->name, name)) { + if (node->ns && !xmlStrcmp(node->ns->prefix, name)) { + APPEND_PREV_ELEMENT(counter, value); + + MAKE_STD_ZVAL(value); + _node_as_zval(sxe, node->parent, value); + + APPEND_CUR_ELEMENT(counter, value); + } else if (!xmlStrcmp(node->name, name)) { APPEND_PREV_ELEMENT(counter, value); MAKE_STD_ZVAL(value); |