我正在尝试解析具有简单订单表单内容的xml文件。我很擅长解析一个XML文件,其中包含以下内容:
<list>
<item>
<id>1</id>
<quantity>14</quantity>
</item>
<item>
<id>2</id>
<quantity>3</quantity>
</item>
</list>
现在我希望能够解析一个结构如此的xml文件。此文件名为“order.xml”以供将来参考。
<main>
<user>
<address>123 Fake Street, City, STATE, ZIP</address>
<list>
<item>
<id>1</id>
<quantity>3</quantity>
</item>
<item>
<id>3</id>
<quantity>4</quantity>
</item>
</list>
</user>
<user>
<address>246 Fake Street, City, STATE, ZIP</address>
<list>
<item>
<id>2</id>
<quantity>4</quantity>
</item>
<item>
<id>3</id>
<quantity>4</quantity>
</item>
</list>
</user>
</main>
我用来解析文件的PHP代码如下:
<?php
// load SimpleXML
$main = new SimpleXMLElement('order.xml', null, true);
$list = $main;
print("<table border = '1'>
<tr>
<th>Address</th>
<th>Item_id</th>
<th>Quantity</th>
</tr> ");
foreach($main as $user) // Loops through the users
{
print ("<tr>
<td>{$user->address}</td>");
foreach($list as $item)
{
print ("<td>{$item->id}</td>
<td>{$item->quantity}</td></tr>");
}
}
echo '</table>';
?>
因此对于输出我希望PHP脚本创建一个类似于以下内容的表,但在HTML表格中正确格式化以便于查看。:
Address Item_id Quantity Address 1 2 3 Address 1 3 4 Address 2 1 1
非常感谢你!
答案 0 :(得分:1)
<?php
// load SimpleXML
$main = new SimpleXMLElement('order.xml', null, true);
print("<table border = '1'>
<tr>
<th>Address</th>
<th>Item_id</th>
<th>Quantity</th>
</tr> ");
foreach($main->user as $user) // Loops through the users
{
print ("<tr>
<td>{$user->address}</td>");
foreach($user->item as $item)
{
print ("<td>{$item->id}</td>
<td>{$item->quantity}</td></tr>");
}
}
echo '</table>';
?>