tags:

views:

103

answers:

3

Hello! I try to use amazon API using PHP. If I use

print_r($parsed_xml->Items->Item->ItemAttributes)

it show me some result like

SimpleXMLElement Object ( 
[Binding] => Electronics 
[Brand] => Canon 
[DisplaySize] => 2.5 
[EAN] => 0013803113662 **
[Feature] => Array ( 
[0] => High-powered 20x wide-angle optical zoom with Optical Image Stabilizer 
[1] => Capture 720p HD movies with stereo sound; HDMI output connector for easy playback on your HDTV 
[2] => 2.5-inch Vari-Angle System LCD; improved Smart AUTO intelligently selects from 22 predefined shooting situations 
[3] => DIGIC 4 Image Processor; 12.1-megapixel resolution for poster-size, photo-quality prints 
[4] => Powered by AA batteries (included); capture images to SD/SDHC memory cards (not included) )** 
[FloppyDiskDriveDescription] => None 
[FormFactor] => Rotating 
[HasRedEyeReduction] => 1 
[IsAutographed] => 0 
[IsMemorabilia] => 0 
[ItemDimensions] => SimpleXMLElement Object ( 
[Height] => 340 
[Length] => 490 
[Weight] => 124 
[Width] => 350 ) 
[Label] => Canon 
[LensType] => Zoom lens 
[ListPrice] => SimpleXMLElement Object ( 
[Amount] => 60103 
[CurrencyCode] => USD 
[FormattedPrice] => $601.03 ) 
[Manufacturer] => Canon 
[MaximumFocalLength] => 100 
[MaximumResolution] => 12.1 
[MinimumFocalLength] => 5 
[Model] => SX20IS 
[MPN] => SX20IS 
[OpticalSensorResolution] => 12.1 
[OpticalZoom] => 20 
[PackageDimensions] => SimpleXMLElement Object ( 
[Height] => 460 
[Length] => 900 
[Weight] => 242 
[Width] => 630 ) 
[PackageQuantity] => 1 
[ProductGroup] => Photography 
[ProductTypeName] => CAMERA_DIGITAL 
[ProductTypeSubcategory] => point-and-shoot 
[Publisher] => Canon 
[Studio] => Canon 
[Title] => Canon PowerShot SX20IS 12.1MP Digital Camera with 20x Wide Angle Optical Image Stabilized Zoom and 2.5-inch Articulating LCD 
[UPC] => 013803113662 ) 

my goal is to get only Feature infomation and I try to use

$feature = $parsed_xml->Items->Item->ItemAttributes->Feature

it does'not work for me because it just show me the first feature only. How do i get all feature information? please help

A: 

In your code $feature should contain an array. You can iterate over all this features:

foreach($feature as $f) {
    echo $f;
}

Or do you want the features of all items?

Felix Kling
A: 

Loop through the items and put the Feature attribute in an array?

$feature = array();
foreach($parsed_xml->Items as $item)
{
 $feature[] = $item->ItemAttributes->Feature;
}
Alxwest
A: 

Looks to me like the feature element is actually an array, you'll just need to iterate through it

// assign the feature array to a var to prevent reading the xml each loop iteration
$features = $parsed_xml->Items->Item->ItemAttributes->Feature

// loop through each feature in the features array
foreach($features as $feature) {
    echo "* $feature\n";
}

or if you want to show the index of the feature (which is just 0-n in this case)

// loop through each feature in the features array
foreach($features as $key => $feature) {
    echo "$key. $feature\n";
}
Rabbott
This is of course if you are looking for the features of the one element you provided, if you need to get features for all elements you'll just need to combine my answer with Alxwest's answer, creating a nested foreach loop.
Rabbott