我尝试在现有的xml文件中添加节点,但它不起作用
number.xml
<numbers>
<number>1</number>
<number>2</number>
</numbers>
number.php
<?php
$xml = new DOMDocument();
$xml -> load('number.xml');
$xml_number = $xml->createElement("number");
$xml_number_text = $xml->createTextNode("3");
$xml_number->appendChild($xml_number_text);
$xml_numbers = $xml->getElementsByTagName('numbers');
$xml_numbers->appendChild($xml_number);
$xml->formatOutput=true;
$xml->save("number.xml") or die("Error");
?>
这是一个错误: 致命错误:在number.php中调用未定义的方法DOMNodeList :: appendChild() 如何为数字添加数字?我需要它看起来像......
<numbers>
<number>1</number>
<number>2</number>
<number>3</number>
</numbers>
答案 0 :(得分:1)
这一行:
$xml_numbers = $xml->getElementsByTagName('numbers');
应该是:
$xml_numbers = $xml->getElementsByTagName('numbers')->item(0);
注意,getElementsByTagName()
将始终返回XMLNodeList对象,而不是单个节点 - 即使只找到一个元素,就像你的情况一样。您需要使用->item(0)
显式地处理该列表的第一个元素。