DOMDocument::addChild()"简单创建XML脚本


"undefined method DOMDocument::addChild()" on simple create XML sript

我在下面的代码片段中得到一个错误:

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();