From: firehed at gmail dot com
Operating system: OS X 10.5
PHP version: 5.2.6
PHP Bug Type: SimpleXML related
Bug description: Serializing SimpleXML removes the root node; asXML on
unserailized breaks
Description:
------------
If you serialize a SimpleXMLElement object, the root-level node is lost,
causing the unserialize() event to issue a warning-level error (and
creating an empty SimpleXMLElement object) and cause most other
SimpleXMLElement methods to fail with a warning-level error.
Reproduce code:
---------------
<?php
$xml = new SimpleXMLElement('<test><foo>1</foo><bar>2</bar></test>');
$serialized = serialize($xml);
$unserialized = unserialize($serialized);
$unserialized->addChild('testing', 'worked');
echo $unserialized->asXML();
Expected result:
----------------
<?xml version="1.0"?>
<test><foo>1</foo><bar>2</bar><testing>worked</testing></test>
Actual result:
--------------
Warning: unserialize() [function.unserialize]: Node no longer exists in
/Applications/MAMP/htdocs/serialxml.php on line 4
Warning: SimpleXMLElement::addChild()
[function.SimpleXMLElement-addChild]: Node no longer exists in
/Applications/MAMP/htdocs/serialxml.php on line 5
Warning: SimpleXMLElement::addChild()
[function.SimpleXMLElement-addChild]: Cannot add child. Parent is not a
permanent member of the XML tree in /Applications/MAMP/htdocs/serialxml.php
on line 5
Warning: SimpleXMLElement::asXML() [function.SimpleXMLElement-asXML]: Node
no longer exists in /Applications/MAMP/htdocs/serialxml.php on line 6
--
Edit bug report at http://bugs.php.net/?id=46143&edit=1
--
Try a CVS snapshot (PHP 5.2):
http://bugs.php.net/fix.php?id=46143&r=trysnapshot52
Try a CVS snapshot (PHP 5.3):
http://bugs.php.net/fix.php?id=46143&r=trysnapshot53
Try a CVS snapshot (PHP 6.0):
http://bugs.php.net/fix.php?id=46143&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=46143&r=fixedcvs
Fixed in release:
http://bugs.php.net/fix.php?id=46143&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=46143&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=46143&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=46143&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=46143&r=support
Expected behavior: http://bugs.php.net/fix.php?id=46143&r=notwrong
Not enough info:
http://bugs.php.net/fix.php?id=46143&r=notenoughinfo
Submitted twice:
http://bugs.php.net/fix.php?id=46143&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=46143&r=globals
PHP 4 support discontinued: http://bugs.php.net/fix.php?id=46143&r=php4
Daylight Savings: http://bugs.php.net/fix.php?id=46143&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=46143&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=46143&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=46143&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=46143&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=46143&r=mysqlcfg