This isn't really S3-specific, it's more just a basic JavaScript question. Is there a way I can get JavaScript to give me a multidimensional array of all the data from an XML file? For example, say I've got this:
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
  <Name>bucketname</Name>
  <Prefix/>
  <Marker/>
  <MaxKeys>1000</MaxKeys>
  <IsTruncated>false</IsTruncated>
  <Contents>
    <Key>image.png</Key>
    <LastModified>2011-04-05T19:22:29.000Z</LastModified>
    <ETag>"53b61a2200856713abefa6949550e09a"</ETag>
    <Size>291842</Size>
    <Owner>
      <ID>
        96796a91be9047be08fae41526548b98c4499255d00abaf23f40f1d6e6398260
      </ID>
      <DisplayName>me</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>archive.zip</Key>
    <LastModified>2011-04-29T19:05:25.000Z</LastModified>
    <ETag>"16021b5e151a69b15b4fa648a28fb112"</ETag>
    <Size>119042</Size>
    <Owner>
      <ID>
        96796a91be9023be08fae41526548b98c5699255d00aaaf23f40f1d6e6398260
      </ID>
      <DisplayName>me</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
  <Contents>
    <Key>script.sh</Key>
    <LastModified>2011-03-11T16:02:53.000Z</LastModified>
    <ETag>"4e7ec24f635835a91663be368b372a1c"</ETag>
    <Size>124714</Size>
    <Owner>
      <ID>
        96796a91be90b5be0cfae41526548b98c4495255d00caaf23f40f1d6e6398260
      </ID>
      <DisplayName>me</DisplayName>
    </Owner>
    <StorageClass>STANDARD</StorageClass>
  </Contents>
</ListBucketResult>
I'd like to be able to iterate through each <Contents> block, and run some code based on its contents. I know this is possible, but all the tutorials I've seen look a lot harder than they should be.