ID:               46968
 Updated by:       j...@php.net
 Reported By:      jordan dot raub at dataxltd dot com
 Status:           Open
 Bug Type:         SimpleXML related
 Operating System: *
-PHP Version:      5.2.8
+PHP Version:      5.2.9
 New Comment:

See also bug #48059


Previous Comments:
------------------------------------------------------------------------

[2009-04-21 07:05:59] dypa at bk dot ru

5.2.8 Windows NT DYPA 5.1 build 2600
Reproduced:
||
||
|<?xml version="1.0"?>
<foo>
  <bar/>
</foo>
|

------------------------------------------------------------------------

[2008-12-30 00:46:14] jordan dot raub at dataxltd dot com

Description:
------------
implicit call to __toString() for the extended class does not work
properly an empty value is returned (even without the try catch block
nothing is returned)

Reproduce code:
---------------
<?php
class XML extends SimpleXMLElement 
{
        public function __toString()
        {
                try
                {
                        $xml = new DOMDocument('1.0', 'utf-8');
                        $xml->formatOutput = TRUE;
                        $xml->preserveWhiteSpace = FALSE;
                        $xml->loadXML($this->asXML());
                        $retval = $xml->saveXML();
                }
                catch(Exception $e)
                {
                        $retval = '';
                }
                return $retval;
        }
}
$xml = new XML('<foo><bar/></foo>');

echo '|' . $xml . "|\n";
echo '|' . (string) $xml . "|\n";
echo '|' . $xml->__toString() . "|\n";


Expected result:
----------------
|<?xml version="1.0"?>
<foo>
  <bar/>
</foo>
|
|<?xml version="1.0"?>
<foo>
  <bar/>
</foo>
|
|<?xml version="1.0"?>
<foo>
  <bar/>
</foo>
|


Actual result:
--------------
||
||
|<?xml version="1.0"?>
<foo>
  <bar/>
</foo>
|



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=46968&edit=1

Reply via email to