0

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

$feeditem->getElementsByTagName('extra');

作为 forall 语句的一部分,并且元素 extra 不存在于我在 forall 条件下迭代的一个提要项中,然后我得到一个错误。

我试过这个:

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

但我得到了错误

getAttribute() on a non-object

注意:当每个提要项中都包含“额外”元素时,代码运行完美。只是当其中一个提要项目不包含“额外”元素时,我才收到错误消息。

4

1 回答 1

2

尝试使用以下length属性DOMNodeList

$nodes = $feeditem->getElementsByTagName('extra');
if ($nodes->length > 0) {
    $extraname = $extratag->item(0)->getAttribute('name');
}
于 2009-10-17T19:51:26.693 回答