我正在获取以下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结构?
答案 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
}