Trying to scrape an IKEA page at the following link:
http://www.ikea.com/it/it/catalog/products/60255550/?type=xml&dataset=prices
I want to scrape the price of the item, but in the xml file the price appears once unformatted and once with the Euro sign next to it. I wish to scrape the priceNormal unformatted value specifically.
<prices>
<normal>
<priceNormal unformatted="44.99">€ 44,99</priceNormal>
<pricePrevious/>
<priceNormalPerUnit/>
<pricePreviousPerUnit/>
</normal>
My code below doesn't echo the price at all, not sure where I'm going wrong :(
$string = 'http://www.ikea.com/it/it/catalog/products/60255550/?type=xml&dataset=prices';
$xml=simplexml_load_file($string) or die("Error: Cannot create object");
//print_r($xml);
echo $xml->product->prices;
You should be able to get the price with
$xml->products->product->items->item->prices->normal->priceNormal
$xml->products->product->items->item->prices->normal->priceNormal->attributes()->unformatted
If you however need to iterate of a result set, you can break up the places where you are expecting multiples with iteration...
foreach( $xml->products->product as $product )
{
echo $product->name;
foreach( $product->items->item as $item )
{
echo $item->name;
echo $item->prices->normal->priceNormal;
echo $item->prices->normal->priceNormal->attributes()->unformatted;
}
}