DOMDocument解析(php)

时间:2009-10-17 19:48:11

标签: php xml parsing domdocument

我正在从一个API中解析一个xml文件,我在php中将其转换为DOMDocument。这很好,但我遇到的一个问题是当我这样做时:

$feeditem->getElementsByTagName('extra');

作为forall语句的一部分,并且我在forall条件中迭代的一个feeditems中不存在extra元素,然后我收到错误。

我试过了:

if (!empty($feeditem->getElementsByTagName('extra'))){
$extratag = $feeditem->getElementsByTagName('extra');
    $extraname = $extratag->item(0)->getAttribute('name');
echo $extraname
    }

但是我收到了错误

getAttribute() on a non-object

注意:当每个feeditem中包含'extra'元素时,代码运行完美。只是当其中一个Feed项不包含'extra'元素时,我才会收到错误。

1 个答案:

答案 0 :(得分:2)

尝试使用DOMNodeListlength属性:

$nodes = $feeditem->getElementsByTagName('extra');
if ($nodes->length > 0) {
    $extraname = $extratag->item(0)->getAttribute('name');
}