我有一个DomElement
<title>
<language id="1" />
<language id="2" />
</title>
我想设置两种语言的内容
$node=$pp->title
foreach($node->language as $lang) {
$lang->nodeValue="Default";
}
我认为我必须像使用时一样使用 - &gt; nodevalue。 这给了
<title>
<language id="1"><nodeValue>Default</nodeValue></language>
<language id="2"><nodeValue>Default</nodeValue></language>
</title>
所以我试过
$node=$pp->title
foreach($node->language as $lang) {
$lang="Default";
}
这不会改变价值。
我想要
<title>
<language id="1">Default</language>
<language id="2">Default</language>
</title>
这可能是非常简单的我忽视......
答案 0 :(得分:1)
您需要设置元素本身(而不是变量)。
foreach($node->language as $lang) {
$lang->{0} = "Default";
}
答案 1 :(得分:0)
答案在这里:
How can I set text value of SimpleXmlElement without using its parent?
$node=$pp->title
foreach($node->language as $lang) {
$lang[0]="Default";
}