I am trying to parse an XML response from the Amazon API in PHP via simplexml_load_string().
The XML i get looks like that:
<?xml version="1.0" encoding="UTF-8"?>
<GetMatchingProductForIdResponse xmlns="http://mws.amazonservices.com/schema/Products/2011-10-01">
   <GetMatchingProductForIdResult Id="xxx" IdType="SellerSKU" status="Success">
      <Products>
         <Product>
            <Identifiers>
               <MarketplaceASIN>
                  <MarketplaceId>xxxx</MarketplaceId>
                  <ASIN>xxx</ASIN>
               </MarketplaceASIN>
            </Identifiers>
            <AttributeSets>
               <ns2:ItemAttributes xmlns:ns2="http://mws.amazonservices.com/schema/Products/2011-10-01/default.xsd" xml:lang="de-DE">
                  <ns2:Binding>Elektronik</ns2:Binding>
                  <ns2:Brand>Panasonic</ns2:Brand>
                  <ns2:Feature>xx</ns2:Feature>
                  <ns2:Feature>xxx</ns2:Feature>
                  <ns2:Feature>xxx</ns2:Feature>
                  <ns2:Feature>xxx</ns2:Feature>
                  <ns2:Feature>xxx</ns2:Feature>
                  <ns2:Label>Panasonic</ns2:Label>
                  <ns2:Manufacturer>Panasonic</ns2:Manufacturer>
                  <ns2:PackageDimensions>
                     <ns2:Height Units="inches">xx</ns2:Height>
                     <ns2:Length Units="inches">xx</ns2:Length>
                     <ns2:Width Units="inches">xxx</ns2:Width>
                  </ns2:PackageDimensions>
                  <ns2:PartNumber>xxx</ns2:PartNumber>
                  <ns2:ProductGroup>Computer & Zubehör</ns2:ProductGroup>
                  <ns2:ProductTypeName>COMPUTER_COMPONENT</ns2:ProductTypeName>
                  <ns2:Publisher>Panasonic</ns2:Publisher>
                  <ns2:SmallImage>
                     <ns2:URL>xxx.jpg</ns2:URL>
                     <ns2:Height Units="pixels">xx</ns2:Height>
                     <ns2:Width Units="pixels">xx</ns2:Width>
                  </ns2:SmallImage>
                  <ns2:Studio>Panasonic</ns2:Studio>
                  <ns2:Title>xxx</ns2:Title>
               </ns2:ItemAttributes>
            </AttributeSets>
            <Relationships />
            <SalesRankings />
         </Product>
      </Products>
   </GetMatchingProductForIdResult>
   <ResponseMetadata>
      <RequestId>xx</RequestId>
   </ResponseMetadata>
</GetMatchingProductForIdResponse>    
My PHP code:
$response = $service->GetMatchingProductForId($request);  //making the call
$response = $response->toXML();
$response = simplexml_load_string($response);       
var_dump($response);     
Unfortunatly the AttributeSets don't get converted into objects as you can see in the var_dump.
object(SimpleXMLElement)#9 (2) {
  ["GetMatchingProductForIdResult"]=>
  object(SimpleXMLElement)#4 (2) {
    ["@attributes"]=>
    array(3) {
      ["Id"]=>
      string(5) "xxx"
      ["IdType"]=>
      string(9) "SellerSKU"
      ["status"]=>
      string(7) "Success"
    }
    ["Products"]=>
    object(SimpleXMLElement)#14 (1) {
      ["Product"]=>
      object(SimpleXMLElement)#18 (4) {
        ["Identifiers"]=>
        object(SimpleXMLElement)#23 (1) {
          ["MarketplaceASIN"]=>
          object(SimpleXMLElement)#29 (2) {
            ["MarketplaceId"]=>
            string(14) "xxx"
            ["ASIN"]=>
            string(10) "xxxx"
          }
        }
        ["AttributeSets"]=>
        object(SimpleXMLElement)#37 (0) {
        }
        ["Relationships"]=>
        object(SimpleXMLElement)#28 (0) {
        }
        ["SalesRankings"]=>
        object(SimpleXMLElement)#26 (0) {
        }
      }
    }
  }
  ["ResponseMetadata"]=>
  object(SimpleXMLElement)#12 (1) {
    ["RequestId"]=>
    string(36) "xxx"
  }
}
Is something wrong with the XML?