javascript - 在 JavaScript 中解析 A​​mazon S3 输出

标签 javascript xml amazon-s3

这并不是真正特定于 S3 的问题,它只是一个基本的 JavaScript 问题。 有没有办法让 JavaScript 为我提供 XML 文件中所有数据的多维数组?例如,假设我有这个:

<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>

我希望能够迭代每个 <Contents> block ,并根据其内容运行一些代码。我知道这是可能的,但我见过的所有教程看起来都比应有的要难。

最佳答案

https://developer.mozilla.org/en/Introduction_to_using_XPath_in_JavaScript解释如何从 JavaScript 使用 XPath。您只需提出一个描述您想要的结果的 XPath 查询,然后使用该 API 来获取结果。

如果您通过 XHR 获取 XML,那么结果中已经有一个已解析的 DOM,但如果没有,请参阅 XML parsing of a variable string in JavaScript

关于javascript - 在 JavaScript 中解析 A​​mazon S3 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7702047/

相关文章:

amazon-web-services - AWS Sagemaker - 访问被拒绝

ios - iOS 后端

javascript - 映射和拼接给出空而不是空

amazon-s3 - 带Lambda的Amazon Step Function从Kinesis触发

Javascript 方法代理和 AngularJS

android - 是否可以在两个 strings.xml 文件之间进行选择?

java - 在java中使用slick2D库的xml FileNotFoundException

xml - 有人可以举例说明如何在 mule 中将 csv 转换为 xml 吗?

javascript - 为什么 Meteor 有一个奇怪的事件处理程序语法?

javascript - 使用 javaScript 访问 Dynamics CRM/365 Forms 中的其他实体属性