这快把我逼疯了。我只想添加另一个img节点。
$xml = <<<XML
<?xml version="1.0" encoding="UTF-8"?>
<gallery>
<album tnPath="tn/" lgPath="imm/" fsPath="iml/" >
<img src="004.jpg" caption="4th caption" />
<img src="005.jpg" caption="5th caption" />
<img src="006.jpg" caption="6th caption" />
</album>
</gallery>
XML;
$xmlDoc = new DOMDocument();
$xmlDoc->loadXML($xml);
$album = $xmlDoc->getElementsByTagname('album')[0];
// Parse error: syntax error, unexpected '[' in /Applications/XAMPP/xamppfiles/htdocs/admin/tests/DOMDoc.php on line 17
$album = $xmlDoc->getElementsByTagname('album');
// Fatal error: Call to undefined method DOMNodeList::appendChild() in /Applications/XAMPP/xamppfiles/htdocs/admin/tests/DOMDoc.php on line 19
$newImg = $xmlDoc->createElement("img");
$album->appendChild($newImg);
print $xmlDoc->saveXML();错误:
发布于 2010-05-17 07:28:53
getElementsByTagName不返回数组,它返回一个DOMNodeList。您需要使用item方法来访问它的项:
$album = $xmlDoc->getElementsByTagname('album')->item(0);发布于 2010-05-17 07:32:04
// Parse error: syntax error, unexpected '[' in /Applications/XAMPP/xamppfiles/htdocs/admin/tests/DOMDoc.php on line 17在php中不能这样做。
$album = $xmlDoc->getElementsByTagname('album')[0];你必须这么做
$albumList = $xmlDoc->getElementsByTagname('album');
$album = $albumList[0];编辑: getElementsByTagname返回一个对象,所以你可以这样做(上面的代码是不正确的)...
$album = $xmlDoc->getElementsByTagname('album')->item(0);此错误....
// Fatal error: Call to undefined method DOMNodeList::appendChild() in /Applications/XAMPP/xamppfiles/htdocs/admin/tests/DOMDoc.php on line 19DOMNodeList没有appendChild方法。DOMNode就是这样。
https://stackoverflow.com/questions/2845908
复制相似问题