我正在尝试将此XML的内容放在http://data.fcc.gov/api/license-view/basicSearch/getLicenses?searchValue=W1AW(我使用W1AW呼号作为示例)显示在表中(不是每个条目,只有“licName”,“callsign”) ,“serviceDesc”,“statusDesc”和“expiredDate”。)
在我的网站上,我希望能够根据url parremeter选择要搜索的呼号?callsign = choicehere(例如:mywebsite.com/callsignresults.php?callsign=w1aw)
我目前有以下代码。我只让参数工作。
<?php
$file = file_get_contents('http://data.fcc.gov/api/license-view/basicSearch/getLicenses?searchValue=' . ($_GET["callsign"]));
echo $file;
?>
那么我该如何将XML数据转换为用户友好的可读表。
表示例构思:
| NAME | CALL SIGN | TYPE | STATUS | EXPIRATION DATE |
--------------------------------------------------------------
| John Doe | XXXX | Amature | Active | 1/1/13 |
| Jane Doe | X1X1X | Amature | Expired | 1/1/13 |
答案 0 :(得分:7)
以Neta Meta的答案为基础:
我在实际迭代构建的XML对象时遇到了一些麻烦,直到我意识到返回的XML与其大小写不一致。这是一些将该文件解析为表的工作代码:
<?php
$xml = new SimpleXMLElement('http://data.fcc.gov/api/license-view/basicSearch/getLicenses?searchValue='.$_GET["callsign"], 0, TRUE);
?>
<table>
<thead>
<tr>
<th>Name</th>
<th>Call Sign</th>
<th>Type</th>
<th>Status</th>
<th>Expiration Date</th>
</tr>
</thead>
<tbody>
<?php foreach ($xml->Licenses->License as $licenseElement) :?>
<tr>
<td><?php echo $licenseElement->licName; ?></td>
<td><?php echo $licenseElement->callsign; ?></td>
<td><?php echo $licenseElement->serviceDesc; ?></td>
<td><?php echo $licenseElement->statusDesc; ?></td>
<td><?php echo $licenseElement->expiredDate; ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
答案 1 :(得分:2)
基本上你可以使用 SimpleXML :
$file = file_get_contents('http://data.fcc.gov/api/license-view/basicSearch/getLicenses?searchValue=Verizon+Wireless');
$movies = new SimpleXMLElement($file);
echo '<pre>';
print_r($movies);
echo '<pre>';
并遍历对象,显示页面。