. */ /** * Item * * This file contains the class AmazonProduct_Item * * @author Matthew John Denton * @package com.mdbitz.amazon.product */ /** * AmazonProduct Item Object * * Properties * * * @package com.mdbitz.amazon.product */ class AmazonProduct_Item extends AmazonProduct_Abstract { /** * parse Object from XML * * @param XMLNode $node xml node to parse * @return void */ public function parseXML( $node ) { foreach ( $node->childNodes as $item ) { switch( $item->nodeName ) { case "SmallImage": case "MediumImage": case "LargeImage": $this->set( $item->nodeName, new AmazonProduct_Image( $item ) ); break; case "ImageSets": $imageSets = array(); foreach( $item->childNodes as $imageSetNode ) { $imageSets[] = new AmazonProduct_ImageSet( $imageSetNode ); } $this->set( $item->nodeName, $imageSets ); break; case "Accessories": $accessories = array(); foreach( $item->childNodes as $accessoryNode ) { $accessories[] = new AmazonProduct_Accessory( $accessoryNode ); } $this->set( $item->nodeName, $accessories ); break; case "AlternateVersions": $alternateVersions = array(); foreach( $item->childNodes as $alternateVersionNode ) { $alternateVersions[] = new AmazonProduct_AlternateVersion( $alternateVersionNode ); } $this->set( $item->nodeName, $alternateVersions ); break; case "BrowseNodes": $objects = array(); foreach( $item->childNodes as $childNode ) { $objects[] = new AmazonProduct_BrowseNode( $childNode ); } $this->set( $item->nodeName, $objects ); break; case "Collections": $objects = array(); foreach( $item->childNodes as $childNode ) { $objects[] = new AmazonProduct_Collection( $childNode ); } $this->set( $item->nodeName, $objects ); break; case "EditorialReviews": $objects = array(); foreach( $item->childNodes as $childNode ) { $objects[] = new AmazonProduct_EditorialReview( $childNode ); } $this->set( $item->nodeName, $objects ); break; case "ItemLinks": $objects = array(); foreach( $item->childNodes as $childNode ) { $objects[] = new AmazonProduct_ItemLink( $childNode ); } $this->set( $item->nodeName, $objects ); break; case "ItemAttributes": $this->set( $item->nodeName, new AmazonProduct_ItemAttributes( $item ) ); break; case "OfferSummary": $this->set( $item->nodeName, new AmazonProduct_OfferSummary( $item ) ); break; case "Offers": $this->set( $item->nodeName, new AmazonProduct_Offers( $item ) ); break; case "CustomerReviews": $this->set( $item->nodeName, new AmazonProduct_CustomerReviews( $item ) ); break; case "SimilarProducts": $objects = array(); foreach( $item->childNodes as $childNode ) { $objects[] = new AmazonProduct_SimilarProduct( $childNode ); } $this->set( $item->nodeName, $objects ); break; case "ListmaniaLists": $objects = array(); foreach( $item->childNodes as $childNode ) { $objects[] = new AmazonProduct_listmaniaList( $childNode ); } $this->set( $item->nodeName, $objects ); break; case "VariationSummary": $this->set( $item->nodeName, new AmazonProduct_VariationSummary( $item ) ); break; default: $this->processNode( $item ); break; } } } }