SimpleXMLElement foreach 仅在有多个结果时显示

SimpleXMLElement foreach only shows when there is more than one result

我有一个简单的 http 请求。

如果有不止 1 个结果,效果很好。

结果返回为 xml 文件,然后我将其放入 table 供最终用户查看。

当只有一个结果时如何使 foreach 工作?

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "There are no Jobs available ";
} else {
?>

<table id ="table-job" class="container sortable">
  <thead>
    <tr>
<th class="job" > Job</th>
 <th class="position" > position</th>
 <th class="name" > Name</th>
</tr>
</thead>


<?php
$xml = new SimpleXMLElement($response);

foreach($xml->record as $item)
?>
<tr>
<td class="jon"><?php echo (string)$item->job; ?></td>
<td class="position"><?php echo (string)$item->position; ?></td>
<td class="name"><?php echo (string)$item->name; ?></td>
</tr>

当有多个结果作为响应发回时,它工作正常。

如果什么都没有然后它会说没有可用的工作

这是预期的。

但是,如果只有 1 个结果,则什么也没有显示,就好像 foreach 不起作用。

你看看下面的代码。希望对你有用。

 <?php
 $xml = simplexml_load_file("sample.xml", NULL, LIBXML_NOCDATA);

 foreach ($xml->record as $item) {?>
 <tr>
    <td class="jon"><?php echo (string)$item->job; ?></td>
    <td class="position"><?php echo (string)$item->position; ?></td>
    <td class="name"><?php echo (string)$item->name; ?></td>
 </tr>
 <?php } ?>