tags:

views:

33

answers:

2

how to set text for a SimpleXMLElement in php?

+2  A: 

Did you look at the basic documentation examples?

From there:

include 'example.php';
$xml = new SimpleXMLElement($xmlstr);

$xml->movie[0]->characters->character[0]->name = 'Miss Coder';

echo $xml->asXML();
alxp
what if I need to set an element's text without knowing its parent? in other words, the element has already being created,perhaps with some attributes.
For that you use the XPath syntax to make a query like:foreach ($xml->xpath('//character') as $character) { echo $character->name, 'played by ', $character->actor, '<br />';}
alxp
A: 
$xml = SimpleXMLElement('<a><b><c></c></b></a>');
$foundNodes = $xml->xpath('//c');
$foundNode = $foundNodes[0];
$foundNode->{0} = "This text will be put inside of c tag.";

$xml->asXML(); 
// will output <a><b><c>This text will be put inside of c tag.</c></b></a>

More on my search of this answer here http://stackoverflow.com/questions/3153477/how-can-i-set-text-value-of-simplexmlelement-without-using-its-parent

Kamil Szot