使用Google Apps脚本解析XML元素中的所有值?

时间:2014-01-19 13:43:35

标签: javascript xml google-apps-script

我正在尝试通过Google Apps脚本将http://indicador.eof.cl/rss XML Feed的外汇价值(所有这些)解析为Gooogle协作平台。

脚本如下>

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

问题是代码只给我带来了第一个值,不是所有这些,我忘了什么?

最诚挚的问候,

1 个答案:

答案 0 :(得分:0)

尝试将TopVar.add(...);行移到for循环中:

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循环(etitledescription)。这些变量的值在每次迭代中都没有任何代码使用它。