Thread: Resolved Simple PHP XML parsing
View Single Post
Old 09-08-2012, 06:58 PM   PM User | #1
Redcoder
Regular Coder

 
Redcoder's Avatar
 
Join Date: May 2012
Location: /dev/couch
Posts: 309
Thanks: 2
Thanked 46 Times in 45 Posts
Redcoder has a little shameless behaviour in the past
Simple PHP XML parsing

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.
__________________
For professional Hosting and Web design.....


NetEssentials.co.uk

Last edited by Redcoder; 09-10-2012 at 06:01 PM..
Redcoder is offline   Reply With Quote