}
/* }}} */
+/* {{{ proto object SimpleXMLElement::__toString() U
+ Returns the string content */
+SXE_METHOD(__toString)
+{
+ zval *result;
+
+ ALLOC_INIT_ZVAL(result);
+
+ if (sxe_object_cast(getThis(), result, IS_STRING, NULL TSRMLS_CC) == SUCCESS) {
+ RETURN_ZVAL(result, 1, 1);
+ } else {
+ zval_ptr_dtor(&result);
+ RETURN_EMPTY_TEXT();
+ }
+}
+/* }}} */
+
static int sxe_count_elements(zval *object, long *count TSRMLS_DC) /* {{{ */
{
php_sxe_object *sxe;
SXE_ME(getName, NULL, ZEND_ACC_PUBLIC)
SXE_ME(addChild, NULL, ZEND_ACC_PUBLIC)
SXE_ME(addAttribute, NULL, ZEND_ACC_PUBLIC)
+ SXE_ME(__toString, NULL, ZEND_ACC_PUBLIC)
{NULL, NULL, NULL}
};
/* }}} */
--- /dev/null
+--TEST--
+SimpleXML: __toString
+--SKIPIF--
+<?php if (!extension_loaded("simplexml")) print "skip"; ?>
+--FILE--
+<?php
+$string = '<?xml version="1.0"?>
+<foo><bar>
+ <p>Blah 1</p>
+ <p>Blah 2</p>
+ <p>Blah 3</p>
+ <tt>Blah 4</tt>
+</bar></foo>
+';
+$foo = simplexml_load_string($string);
+$p = $foo->bar->p;
+echo $p."\n";
+echo $p->__toString()."\n";
+?>
+==Done==
+--EXPECT--
+Blah 1
+Blah 1
+==Done==