我在下面的代码片段中得到一个错误:
1 $xml = new DOMDocument('1.0', 'utf-8');
2 $xml->formatOutput = TRUE; // enable automatic indenting
3 $xml->loadXML('<songData/>'); // set root node
4 $song = $xml->addChild('song');
5 $artist = $xml->addChild('artist');
6
7 echo $xml->asXML();
返回:
Call to undefined method DOMDocument::addChild() on line 4
是什么触发了这个错误?
编辑,最终我要这样做:
<?xml version="1.0" encoding="utf-8"?>
<songData>
<song>
<title>Carbona Not Glue</title>
<artist>Ramones</artist>
<members>
<name>Johny</name>
<name>Joey</name>
<name>Dee Dee</name>
<name>Marky</name>
</members>
</song>
</songData>
你到底想创建哪个XML,你能举个例子吗?如果你想要的是<songData><song><artist></artist></song></songData>
,你可以使用createElement
函数:
$xml = new DOMDocument('1.0', 'utf-8');
$xml->formatOutput = TRUE; // enable automatic indenting
// Create the element
$rootElement = $xml->createElement('songData'); // set root node
$songElement = $xml->createElement('song');
$artistElement = $xml->createElement('artist');
// Add them to the DOM
$xml->appendChild($rootElement);
$rootElement->appendChild($songElement);
$songElement->appendChild($artistElement);
echo $xml->saveXML();