有人能告诉我如何避免这些错误吗? 测试命名空间的存在吗?当xpath在xml中找不到名称空间时避免错误
它开始时,我想添加地理信息到一个数组 我认为这是足够的这样做。
(从Picasa的API供稿)
foreach($feed->xpath('//gml:pos') as $pos)
{
$feed_arr['geo'][$i]['pos'] = (string)$pos[0];
$i++;
}
<b>Warning</b>: SimpleXMLElement::xpath() [<a href='/phpmanual/simplexmlelement.xpath'>simplexmlelement.xpath</a>]: Undefined namespace prefix in <b>/home/woonbel/public_html/tsa.nl/applicatie/lib/gpicasa.class.php</b> on line <b>390</b><br />
<br />
<b>Warning</b>: SimpleXMLElement::xpath() [<a href='/phpmanual/simplexmlelement.xpath'>simplexmlelement.xpath</a>]: xmlXPathEval: evaluation failed in <b>/home/woonbel/public_html/tsa.nl/applicatie/lib/gpicasa.class.php</b> on line <b>390</b><br />
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>/home/woonbel/public_html/tsa.nl/applicatie/lib/gpicasa.class.php</b> on line <b>390</b><br />
问候,理查德
使用strpos或者你有更好的建议 – Richard 2010-09-17 17:08:41
呃,你的意思是你只是在你的控制之外应用随机XPath?如果是这样的话:捕捉错误并返回任何内容都是唯一的希望,如果不是的话:只要在整个事情上添加一个前提条件'if(){}'。 – Wrikken 2010-09-17 17:16:50
我不明白。你说,用getDocNa ..()进行测试。这将返回多个ns。然后我说,找出gml命名空间是否包含在使用strpos()的结果中,然后你说我会随机做些事情?需要更多解释。 – Richard 2010-09-17 17:20:41