我尝试在现有的xml文件中添加节点,但它不起作用
数.xml
<numbers>
<number>1</number>
<number>2</number>
</numbers>
数.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");
?>
这是一个错误:致命错误:调用未定义的方法 DOMNodeList::appendChild() 在数字中.php如何将数字添加到数字中?我需要它看起来像...
<numbers>
<number>1</number>
<number>2</number>
<number>3</number>
</numbers>
这一行:
$xml_numbers = $xml->getElementsByTagName('numbers');
应该是:
$xml_numbers = $xml->getElementsByTagName('numbers')->item(0);
请注意,getElementsByTagName()
将始终返回 XMLNodeList 对象,而不是单个节点 - 即使只找到单个元素,就像您的情况一样。您需要使用 ->item(0)
显式寻址该列表的第一个元素。