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

时间:2019-06-10 17:49:31

标签: php simplexml

我有一个简单的http请求。

效果很好,只要有1个以上的结果即可。

结果以xml文件的形式返回,然后我将其放入表格中供最终用户查看。

只有一个结果时,如何使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不能正常工作。

1 个答案:

答案 0 :(得分:0)

您只需看下面的代码。希望对您有用。

 <?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 } ?>