我有一个搜索表单,用于从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.....