【发布时间】:2013-10-11 07:38:11
【问题描述】:
所以除了一件事之外,我几乎得到了我想要的输出。我似乎无法弄清楚如何使用 PHP 在 HTML 表格内的新行上打印我的 XML 文件的特定部分来回显它。
在 PHP 方面我不是最厉害的,但我觉得涉猎很有趣。至于我目前的代码,我将发布我的 PHP 部分。
<?php
$file="badscifimovies.xml";
$xml = simplexml_load_file($file) or die ("no load");
echo <<<EOF
<table>
<tr>
<th>Title</th>
<th>Year</th>
<th>Producers/Director</th>
<th>Stars</th>
<th>Budget</th>
<th>MST3000</th>
</tr>
EOF;
foreach($xml->movie as $movie){
echo "<tr>";
echo "<td>{$movie->title}</td>";
echo "<td>{$movie->year}</td>";
echo "<td>{$movie->director->producer}</td>";
foreach($movie->stars->star as $stars){
echo "<td>{$stars[0]}</td>";
}
echo "<td>{$movie->budget}</td>";
echo "<td>{$movie->mst}</td>";
echo "<br />";
echo "</tr>";
}
echo '</table>';
?>
我正在寻找的输出是“星星”部分。 我得到的 XML 部分是这样的:
<stars>
<star>Name One</star>
<star>Name two</star>
<star>Name three</star>
</star>
我似乎无法将其中的每一个都打印在单独的行上。我的所有其他代码都可以很好地打印出 XML 文档的其余部分(可能是因为每部电影有 1 个元素)。对于星星部分,它会并排打印所有三颗星星,但会将我的每个电影部分打印在应有的新行上。
任何帮助将不胜感激。如果您需要我提供更多信息,我会发布更多信息。
【问题讨论】:
-
你能粘贴更宽的部分用过的 XML 吗?