The setup is quite simple. How do you use the children() iterating function of SimpleXML and then modify the value of the current node? Here's a scenario below:
<Ad>
<Unit>Value</Unit>
<Size>Value</Size>
<Time>Value</Time>
</Ad>
I'm trying to use children() and then to assign to the current Child to change "Value" in all of the above nodes.
foreach ($parent->children() as $child){
$child= "New Value"; // Proper way to access $child's value without overwriting the entire object???
}
Thanks in advance!
EDIT: I understand you can simply do the following:
$parent->Unit = "New Value";
I'm asking specifically in the case of using the children() method, how can you access the value of the current child object?
When a SimpleXMLElement
represents a single element (rather than a collection of elements with the same name), index [0]
can be used as a self-reference.
Writing to that self-reference uses the overloaded assignment that you can use in other contexts to set the text content of a node.
So the code you are looking for is as simple as:
foreach ($parent->children() as $child) {
$child[0] = "New Value";
}