更改当前子项的值 - SimpleXML PHP
Change Value of Current Child - SimpleXML PHP
设置非常简单。如何使用SimpleXML的children()迭代函数,然后修改当前节点的值?下面是一个场景:
<Ad>
<Unit>Value</Unit>
<Size>Value</Size>
<Time>Value</Time>
</Ad>
我正在尝试使用 children() 然后分配给当前 Child 以更改上述所有节点中的 "Value"。
foreach ($parent->children() as $child){
$child= "New Value"; // Proper way to access $child's value without overwriting the entire object???
}
提前致谢!
编辑:我知道您可以简单地执行以下操作:
$parent->Unit = "New Value";
我特意在使用children()方法的情况下,如何访问当前子对象的值?
如果您无法提前知道节点名称,您可以尝试:
foreach ($parent->children() as $name => $child) {
$parent->{$name} = 'new value';
}
当SimpleXMLElement
表示单个元素(而不是同名元素的集合)时,索引[0]
可以用作自引用。
写入该自引用使用重载赋值,您可以在其他上下文中使用它来设置节点的文本内容。
所以您要找的代码很简单:
foreach ($parent->children() as $child) {
$child[0] = "New Value";
}
设置非常简单。如何使用SimpleXML的children()迭代函数,然后修改当前节点的值?下面是一个场景:
<Ad>
<Unit>Value</Unit>
<Size>Value</Size>
<Time>Value</Time>
</Ad>
我正在尝试使用 children() 然后分配给当前 Child 以更改上述所有节点中的 "Value"。
foreach ($parent->children() as $child){
$child= "New Value"; // Proper way to access $child's value without overwriting the entire object???
}
提前致谢!
编辑:我知道您可以简单地执行以下操作:
$parent->Unit = "New Value";
我特意在使用children()方法的情况下,如何访问当前子对象的值?
如果您无法提前知道节点名称,您可以尝试:
foreach ($parent->children() as $name => $child) {
$parent->{$name} = 'new value';
}
当SimpleXMLElement
表示单个元素(而不是同名元素的集合)时,索引[0]
可以用作自引用。
写入该自引用使用重载赋值,您可以在其他上下文中使用它来设置节点的文本内容。
所以您要找的代码很简单:
foreach ($parent->children() as $child) {
$child[0] = "New Value";
}