从API返回xml结果时出现错误

时间:2014-10-31 01:46:16

标签: php xml

我有一个搜索表单,用于从xml中的API中检索数据。

我让一切工作正常但后来注意到如果搜索字词没有结果,xml文件只显示如下。

<sherror>
   <error type="noresults" code="1.1">
   <title/>
   <subtitle/>
   <text/>
   <base/>
   </error>
</sherror>

我遇到问题时遇到问题。 我正在尝试编写if语句,如果错误存在,那么prnt'抱歉没有找到结果 其他 处理xml并打印结果

按照我编写的方式,即使search $ query有结果,我总是会收到错误

以下是我所拥有的: $ query是输入字段中的变量。

$xml = simplexml_load_file($search_url);
$error = $xml->sherror->attributes()->type;

if (!isset($error)) {

echo 'Sorry no results found for ' $query;

} else {
foreach ($xml->rs->r as $value)
{ 
 //process the xml.........

编辑**

根据@Cheery建议它正在处理一个例外,当搜索词出现错误时,例如,如果我查询“blah blah blah”,它会回显我的错误消息但是给了我一个为foreach提供的无效参数()

这是我更新的代码:

$xml = simplexml_load_file($simplyhired_url);
if (property_exists($xml, 'error')) echo "<p class=\"list-group-item\">Sorry No results found for " . $query . "</p>";
foreach ($xml->rs->r as $value) { 

// rest of working code.....

0 个答案:

没有答案