我正在构建一个XML:
<?xml ... ?>
<root>
<elements>0</elements>
<list>
<element>test1</element>
<element>test1</element>
<element>test1</element>
</list>
</root>
在追加所有<element>
后,我想将<elements>0</elements>
替换为<elements>3</elements>
。
我尝试了DOMNode::replaceChild
,但没有任何影响。
$numberOfElements = $xml->createElement('numberOfElements', '0');
$root->appendChild($numberOfElements);
/* append elements and count them */
$root->replaceChild($numberOfElements,
$xml->createElement('numberOfElements', $countElements)
);
如何正确使用replaceChild还是有不同的方式?
答案 0 :(得分:3)
来自docs:
public DOMNode replaceChild ( DOMNode $newnode , DOMNode $oldnode )
这意味着您必须先指定新节点,然后指定要替换的节点。你有错误的方法。
编辑:那说,为什么不这样做呢?$numberOfElements->nodeValue = $countElements;