如何使用Google App脚本循环遍历xml文件

时间:2018-07-30 16:59:34

标签: javascript xml google-apps-script

我正在获取以下xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0">
    <product>
        <id>1</id>
        <value>2253</value>
    </product>
    <product>
        <id>2</id>
        <value>118</value>
    </product>
    <product>
        <id>3</id>
        <value>111</value>
    </product>
    etc...

我的脚本如下:

    var response = UrlFetchApp.fetch(url,options).getContentText();
    var data = XmlService.parse(response);
    var product = doc.getRootElement().getChild("product").getValue();

我能够获得产品价值,但仅限于第一项。因此,例如,当尝试使用此var product = doc.getRootElement().getChild("product")[i].getValue();时出现错误。

我该怎么做才能遍历这种xml结构?

1 个答案:

答案 0 :(得分:1)

您应该使用.getChildren("product")而不是.getChild()。后者返回与该节点名称匹配的第一个元素,而.getChildren()返回您要遍历的数组。

var products = doc.getRootElement().getChildren("product");
for( var i = 0; i < products.length; i++ ) {
    var product = products[i];
    //enter code here
}