首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP DOMDocument getElementsByTagname?

PHP DOMDocument getElementsByTagname?
EN

Stack Overflow用户
提问于 2010-05-17 07:25:37
回答 2查看 20.5K关注 0票数 11

这快把我逼疯了。我只想添加另一个img节点。

代码语言:javascript
复制
$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();

错误:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-17 07:28:53

getElementsByTagName不返回数组,它返回一个DOMNodeList。您需要使用item方法来访问它的项:

代码语言:javascript
复制
$album = $xmlDoc->getElementsByTagname('album')->item(0);
票数 21
EN

Stack Overflow用户

发布于 2010-05-17 07:32:04

代码语言:javascript
复制
// Parse error: syntax error, unexpected '[' in /Applications/XAMPP/xamppfiles/htdocs/admin/tests/DOMDoc.php  on line 17

在php中不能这样做。

代码语言:javascript
复制
$album = $xmlDoc->getElementsByTagname('album')[0];

你必须这么做

代码语言:javascript
复制
$albumList = $xmlDoc->getElementsByTagname('album');
$album = $albumList[0];

编辑: getElementsByTagname返回一个对象,所以你可以这样做(上面的代码是不正确的)...

代码语言:javascript
复制
$album = $xmlDoc->getElementsByTagname('album')->item(0);

此错误....

代码语言:javascript
复制
// Fatal error: Call to undefined method DOMNodeList::appendChild() in /Applications/XAMPP/xamppfiles/htdocs/admin/tests/DOMDoc.php on line 19

DOMNodeList没有appendChild方法。DOMNode就是这样。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2845908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档