title: Looping through a SimpleXML object, or turning the whole thing into an array
body: <p>I'm trying to work out how to iterate though a returned SimpleXML object.</p>
  
  <p>I'm using a toolkit called <a href="http://tarzan-aws.com/" rel="noreferrer">Tarzan AWS</a>, which connects to Amazon Web Services (SimpleDB, S3, EC2, etc). I'm specifically using SimpleDB.</p>
  
  <p>I can put data into the Amazon SimpleDB service, and I can get it back. I just don't know how to handle the SimpleXML object that is returned.</p>
  
  <p>The Tarzan AWS documentation says this:</p>
  
  <blockquote>
    <p>Look at the response to navigate through the headers and body of the response. Note that this is an object, not an array, and that the body is a SimpleXML object.</p>
  </blockquote>
  
  <p>Here's a sample of the returned SimpleXML object:</p>
  
  <pre>
   [body] => SimpleXMLElement Object
          (
              [QueryWithAttributesResult] => SimpleXMLElement Object
                  (
                      [Item] => Array
                          (
                              [0] => SimpleXMLElement Object
                                  (
                                      [Name] => message12413344443260
                                      [Attribute] => Array
                                          (
                                              [0] => SimpleXMLElement Object
                                                  (
                                                      [Name] => active
                                                      [Value] => 1
                                                  )
  
                                              [1] => SimpleXMLElement Object
                                                  (
                                                      [Name] => user
                                                      [Value] => john
                                                  )
  
                                              [2] => SimpleXMLElement Object
                                                  (
                                                      [Name] => message
                                                      [Value] => This is a message.
                                                  )
  
                                              [3] => SimpleXMLElement Object
                                                  (
                                                      [Name] => time
                                                      [Value] => 1241334444
                                                  )
  
                                              [4] => SimpleXMLElement Object
                                                  (
                                                      [Name] => id
                                                      [Value] => 12413344443260
                                                  )
  
                                              [5] => SimpleXMLElement Object
                                                  (
                                                      [Name] => ip
                                                      [Value] => 10.10.10.1
                                                  )
  
                                          )
  
                                  )
  
                              [1] => SimpleXMLElement Object
                                  (
                                      [Name] => message12413346907303
                                      [Attribute] => Array
                                          (
                                              [0] => SimpleXMLElement Object
                                                  (
                                                      [Name] => active
                                                      [Value] => 1
                                                  )
  
                                              [1] => SimpleXMLElement Object
                                                  (
                                                      [Name] => user
                                                      [Value] => fred
                                                  )
  
                                              [2] => SimpleXMLElement Object
                                                  (
                                                      [Name] => message
                                                      [Value] => This is another message
                                                  )
  
                                              [3] => SimpleXMLElement Object
                                                  (
                                                      [Name] => time
                                                      [Value] => 1241334690
                                                  )
  
                                              [4] => SimpleXMLElement Object
                                                  (
                                                      [Name] => id
                                                      [Value] => 12413346907303
                                                  )
  
                                              [5] => SimpleXMLElement Object
                                                  (
                                                      [Name] => ip
                                                      [Value] => 10.10.10.2
                                                  )
  
                                          )
  
                                  )
  
                          )
  </pre>
  
  <p>So what code do I need to get through each of the object items? I'd like to loop through each of them and handle it like a returned mySQL query. For example, I can query SimpleDB and then loop though the SimpleXML so I can display the results on the page.</p>
  
  <p>Alternatively, how do you turn the whole shebang into an array? </p>
  
  <p>I'm new to SimpleXML, so I apologise if my questions aren't specific enough. </p>