Michael
On 7/14/06, Robert Deaton <[EMAIL PROTECTED]
> wrote:
Looks like your attachment was stripped, try sending it as something text/plain.
--
--Robert Deaton
Index: simplexml.c =================================================================== RCS file: /repository/php-src/ext/simplexml/simplexml.c,v retrieving revision 1.151.2.22 diff -u -u -r1.151.2.22 simplexml.c --- simplexml.c 14 Apr 2006 15:19:45 -0000 1.151.2.22 +++ simplexml.c 16 Jun 2006 04:10:42 -0000 @@ -1410,6 +1410,48 @@ } /* }}} */ + +/* {{{ proto void SimpleXMLElement::addElement(sxeobject node }}} */ + SXE_METHOD(addElement) + { + zval *childnode; + php_sxe_object *sxe = php_sxe_fetch_object(getThis() TSRMLS_CC), *childsxe; + xmlNodePtr node, childptr, new_child = NULL; + + GET_NODE(sxe, node); + node = php_sxe_get_first_node(sxe, node TSRMLS_CC); + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "o", &childnode) == FAILURE) { + return; + } + childsxe = (php_libxml_node_object *)zend_object_store_get_object(childnode TSRMLS_CC); + childptr = php_libxml_import_node(childsxe TSRMLS_CC); + + if (sxe->iter.type == SXE_ITER_ATTRLIST) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot add element to attributes"); + return; + } + + GET_NODE(childsxe, childptr); + + childptr = php_sxe_get_first_node(childsxe, childptr TSRMLS_CC); + + if(childptr->parent != NULL) { + xmlUnlinkNode(childptr); + } + + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't append node %d", childptr->type); + + new_child = xmlAddChild(node, childptr); + if (new_child == NULL) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Couldn't append node"); + RETURN_FALSE; + } + + } + +/* }}} */ + /* {{{ proto void SimpleXMLElement::addChild(string qName [, string value [,string ns]]) Add Element with optional namespace information */ SXE_METHOD(addChild) @@ -2256,6 +2298,7 @@ SXE_ME(getNamespaces, NULL, ZEND_ACC_PUBLIC) SXE_ME(getDocNamespaces, NULL, ZEND_ACC_PUBLIC) SXE_ME(getName, NULL, ZEND_ACC_PUBLIC) + SXE_ME(addElement, NULL, ZEND_ACC_PUBLIC) SXE_ME(addChild, NULL, ZEND_ACC_PUBLIC) SXE_ME(addAttribute, NULL, ZEND_ACC_PUBLIC) {NULL, NULL, NULL}
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php