Edit report at https://bugs.php.net/bug.php?id=60126&edit=1

 ID:                 60126
 User updated by:    yohgaki at ohgaki dot net
 Reported by:        yohgaki at ohgaki dot net
 Summary:            Assigning node value results inserting selected
                     node.
 Status:             Open
 Type:               Bug
 Package:            SimpleXML related
 Operating System:   any
 PHP Version:        5.3.8
 Block user comment: N
 Private report:     N

 New Comment:

Oops. I swapped Expected and Actual result, but I'm sure that you get the idea.


Previous Comments:
------------------------------------------------------------------------
[2011-10-25 01:56:29] yohgaki at ohgaki dot net

Description:
------------
Updating node value result inserting selected node.
PHP should update value, NOT inserting selected node.

This bug is located at ext/simplexml.c

static int sxe_prop_dim_write(zval *object, zval *member, zval *value, 
zend_bool 
elements, zend_bool attribs, xmlNodePtr *pnewnode TSRMLS_DC)

It seems the logic is broken for this case.


Test script:
---------------
<?php
$string = <<<XML
<?xml version="1.0" ?> 
 <root>
    <node>
    value
    </node>
 </root>
XML;

$xml = simplexml_load_string($string);

$xml->root->node = "NEW VALUE";

print $xml->asXML();


Expected result:
----------------
<?xml version="1.0"?>
<root>
    <node>
    value
    </node>
 <root><node>NEW VALUE</node></root></root>


Actual result:
--------------
<?xml version="1.0"?>
<root>
    <node>
    NEW VALUE
    </node>
</root>



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



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

Reply via email to