|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #29426 Incomplete/inconsistent functionality
Submitted: 2004-07-28 13:22 UTC Modified: 2005-02-22 11:56 UTC
Avg. Score:4.2 ± 0.8
Reproduced:4 of 4 (100.0%)
Same Version:1 (25.0%)
Same OS:1 (25.0%)
From: php at peterrobins dot co dot uk Assigned:
Status: Closed Package: SimpleXML related
PHP Version: 5.0.0 OS: Linux 2.4
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please !
Your email address:
Solve the problem:
13 + 28 = ?
Subscribe to this entry?

 [2004-07-28 13:22 UTC] php at peterrobins dot co dot uk
According to the manual page, you can add a node with 
SimpleXML, but this does not seem to work, either as  
$xml->movie[0]->characters[0]->character[0]->age = '21'; 
nor as 
$xml->movie[0]->rating[2] = 'not bad'; 
Deletion works on attributes 
but at node level, deletes all  
This is inconsistent with reading where 
fetches the first node only. 
deletes all ratings for the 1st movie only. 
It does not appear possible to delete just 1 node 
Because objs are now refs not copies, can do this 
$rat = $xml->movie[0]->rating[0]; 
$rat['name'] = 'judge'; 
but not this 
$rat = 'new content'; 
nor this 
$rat->child[0] = 'new rating'; 
and if I try and do 
$rat->child = 'new rating'; 
I get 'Attempt to assign property of non-object' 


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2004-08-08 01:18 UTC] cyberlot at cyberlot dot net
Confirming this bug exists, Have the same problem, I need to add to a simplexml object on the fly and can't
 [2004-09-19 17:40 UTC] phpbugs at ilibi dot com
Either the documentation for simplexml should be 
clarified about exactly what can and can not be added/
edited. Or the ability to add nodes should be added to 
 [2004-10-06 07:14 UTC] matt dot bevan at marginsoftware dot com
I am also in the position where I need to be able to 
create and insert a SimpleXMLElement before or after an 
arbitrary SimpleXMLElement, then remove the previous 
instance.  This is to move XML elements from one location 
in an XML file into another. 
I'll likely be switching to/from a DOM object to 
accomplish this, however.
 [2005-02-15 00:33 UTC]
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves. 

A proper reproducing script starts with <?php and ends with ?>,
is max. 10-20 lines long and does not require any external 
resources such as databases, etc.

If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.

 [2005-02-22 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 [2005-02-22 11:56 UTC] php at peterrobins dot co dot uk
I have now revisited this using 5.0.3. Adding a node still  
doesn't work, but the manual page no longer claims that it  
does! Because of this, I've changed the status to closed.  
However, the manual page is still misleading, as it says 
(Example 7) "The object allows for manipulation of all of 
its elements" which is not really true. There are many 
limitations, as stated in this bug report and in the 
comment from brcavanagh, which says much the same thing. 
I'd suggest the manual page be updated to specify that 
SimpleXML is primarily for reading and simple updates, and 
is not really intended for more complex updating or 
deletion of nodes/nodesets.
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Jun 15 17:01:31 2024 UTC