Working With Responses

Whether you’re requesting information via URLs or SOAP requests, the data you can access is the same, and it’s sent in a very similar XML format.

XML Parsers and XPath

To work with XML responses, you need a piece of software, typically an add-on module, called an XML parser. Almost every programming environment has one; you just need to find out which one is available to you and the syntax for using it. The parser’s function is straightforward: to load an XML document and make its contents available to your program either as a data structure or a series of functions.

Once an XML document is loaded, you can get at the specific data it contains with a simple query language called XPath. While parser syntaxes vary across languages and platforms, XPath is rapidly gaining ground as a standard way to access the data. Here’s a quick example of how XPath queries work. If you request product information, you need different pieces of that information at different times. You can get to the specific information you need by specifying a path through the document. Here’s an abbreviated AWS response:

<?xml version="1.0" encoding="UTF-8" ?> 
<ProductInfo>
  <Details url="http://amazon.com/o/0140042598">
    <Asin>0140042598</Asin> 
    <ProductName>On the Road</ProductName> 
    <Catalog>Book</Catalog> 
    <Authors>
      <Author>Jack Kerouac</Author> 
    </Authors>
  </Details>
</ProductInfo>

As you can see, ProductInfo is the top-level tag, and all other tags are within that path. If you just wanted to ...

Get Amazon Hacks now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.