如何检查PHP中是否存在namespace元素

时间:2017-10-23 16:18:07

标签: php xml rss

我正在尝试检查元素media:content是否存在,以便可以从rss feed显示缩略图,但不确定如何验证它是否存在。

我可以获取媒体:内容网址并显示图片正常,但检查是否存在无效。我已经尝试了isset和定义,但我显然做错了。

我关注的主线是:

if(已定义($ item-> getElementsByTagNameNS('http://search.yahoo.com/mrss/','content') - > item(0) - > getAttribute('url')))

a = 648, b = 405, c = 687
Der durch den Median1 berechnete Medianwert ist: 0
a = 998, b = 587, c = 931
Der durch den Median1 berechnete Medianwert ist: 0

2 个答案:

答案 0 :(得分:0)

使用getElementsByTagName时,总会返回DOMNodeList。主要是检查节点列表是否有0个元素。

而不是defined()isset(),请使用->length ...

$nodes=$domDocument->getElementsByTagName('book') ; 
if ($nodes->length==0) { 
   // no results 
} 

(来自http://php.net/manual/en/domdocument.getelementsbytagname.php的例子)

答案 1 :(得分:0)

Nigel是对的,使用 - >长度是这样做的方式。

if($item->getElementsByTagNameNS('http://search.yahoo.com/mrss/', 'content')->length > 0){
            $image = $item->getElementsByTagNameNS('http://search.yahoo.com/mrss/', 'content')->item(0)->getAttribute('url');
}