note 87025 added to function.simplexml-element-addChild

From: Date: Sat, 15 Nov 2008 03:38:06 +0000
Subject: note 87025 added to function.simplexml-element-addChild
Groups: php.notes 
Request: Send a blank email to php-notes+get-146577@lists.php.net to get a copy of this message
Adding multiple children with the same name is not quite intuitive. If the goal is to create an XML string like this, with multiple fruits: <fruitbasket> <fruit> <name>orange</name> </fruit> <fruit> <name>apple</name> </fruit> <fruit> <name>grape</name> </fruit> </fruitbasket> I was trying to do something like: $sxml = new SimpleXMLElement('<fruitbasket></fruitbasket>'); $fruits = array('orange', 'apple', 'grape'); foreach ($fruits as $f) { $sxml->addChild('fruit'); $sxml->fruit->addChild('name', $f); } Won't work - the loop will keep overwriting the fruit child and you will end up with only a grape. What you have to do instead is: foreach ($fruits as $f) { $tmp = $sxml->addChild('fruit'); $tmp->addChild('name', $f); } ---- Server IP: 64.71.164.2 Probable Submitter: 70.170.31.55 ---- Manual Page -- http://www.php.net/manual/en/function.simplexml-element-addChild.php Edit -- https://master.php.net/note/edit/87025 Del: integrated -- https://master.php.net/note/delete/87025/integrated Del: useless -- https://master.php.net/note/delete/87025/useless Del: bad code -- https://master.php.net/note/delete/87025/bad+code Del: spam -- https://master.php.net/note/delete/87025/spam Del: non-english -- https://master.php.net/note/delete/87025/non-english Del: in docs -- https://master.php.net/note/delete/87025/in+docs Del: other reasons-- https://master.php.net/note/delete/87025 Reject -- https://master.php.net/note/reject/87025 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#146577) next »