我正在尝试解析 http://indicador.eof.cl/rss 的外汇值(全部)通过 Google Apps 脚本将 XML 馈送到 Google 协作平台中。
脚本如下>
function doGet(){
var response = UrlFetchApp.fetch("http://indicador.eof.cl/rss").getContentText();
var parsedResponse = Xml.parse(response, false);
var root = parsedResponse.getElement();
var entries = root.getElement('channel').getElements("item");
for (var i=0; i<entries.length; i++) {
var e = entries[i];
var title = e.getElement("title").getText();
var description = e.getElement("description").getText();
}
var app = UiApp.createApplication();
var TopVar = app.createHorizontalPanel();
TopVar.add(app.createLabel(title).setStyleAttribute("fontSize","12px"));
TopVar.add(app.createLabel(description).setStyleAttribute("fontSize","12px"));
app.add(TopVar);
return app;
}
问题是代码只是给我带来第一个值,而不是所有值,我忘记了什么?
最诚挚的问候,
最佳答案
尝试在 for 循环内移动 TopVar.add(...);
行:
var app = UiApp.createApplication();
var TopVar = app.createHorizontalPanel();
for (var i=0; i<entries.length; i++) {
var e = entries[i];
var title = e.getElement("title").getText();
var description = e.getElement("description").getText();
TopVar.add(app.createLabel(title).setStyleAttribute("fontSize","12px"));
TopVar.add(app.createLabel(description).setStyleAttribute("fontSize","12px"));
}
实际上,我对 google-apps-script 一无所知。但你当前的代码逻辑似乎有点不对劲。它不使用 for 循环内声明的局部变量的值(e
、title
和 description
)。这些变量的值在每次迭代中都会发生变化,而没有任何代码使用它。
关于javascript - 使用 Google Apps 脚本解析 XML 元素中的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21217515/