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
