I'm trying to break down this XML file containing the below code:
Code:
<stockreport>
<timestamp>08/09/2012 08:46:02</timestamp>
<version>2.0</version>
<products>
<product type="main">
<code>1</code>
<name>Table</name>
<stock>43</stock>
<status>In Stock</status>
</product>
<product type="main">
<code>2</code>
<name>Chair</name>
<stock>64</stock>
<status>In Stock</status>
</product>
</stockreport>
I want inorder to display it in a table. I'm using the below PHP code:
PHP Code:
<?php
$url = file_get_contents('http://www.topshinellc.com/feed/status-xml.asp.xml'); //The path to the XML file
$data_s = new SimpleXMLElement($url);
echo "<table border='1' >";
echo "<tr><th width='200'><h4>code</h4></th><th width='200'><h4>Name</h4></th><th width='200'><h4>Stock</h4></th><th width='200'><h4>Status</h4></td></th></tr>";
foreach($data_s as $data)
{
echo <<<EOF
<tr>
<td width='200'>$key{$data->product->code}</td>
<td width='200'>{$data->product->name}</td>
<td width='200'>{$data->product->stock}</td>
<td width='200'>{$data->product->status}</td>
</tr>
EOF;
}
echo "</table>";
Instead of getting two rows, only the first row is being displayed.
Like This:
Code Name Stock Status
1 Table 64 In Stock
What is wrong or missing in the code?. Of course this code will need to parse hundreds of such XML tags containing the data.