Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Google Apps脚本解析XML元素中的所有值?_Javascript_Xml_Google Apps Script - Fatal编程技术网

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

Javascript 使用Google Apps脚本解析XML元素中的所有值?,javascript,xml,google-apps-script,Javascript,Xml,Google Apps Script,我正试图通过GoogleApps脚本将所有用于XML提要的外汇值解析到Google站点中 脚本如下所示> function doGet(){ var response = UrlFetchApp.fetch("http://indicador.eof.cl/rss").getContentText(); var parsedResponse = Xml.parse(response, false); var root = parsedResponse.getElement();

我正试图通过GoogleApps脚本将所有用于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;
}
问题是代码只是给我带来了第一个值不是所有的,我忘记了什么

致以最诚挚的问候,

尝试移动TopVar。添加。。。;循环内的行:

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

事实上,我对谷歌应用程序脚本一无所知。但您当前的代码逻辑似乎有点不正确。它不使用在循环e、标题和描述中声明的局部变量的值。这些变量的值在每次迭代中都会更改,没有任何代码使用它。

非常感谢您的帮助。另外一个问题,我如何优化这段代码以从XML提要中提取几个外汇值?没关系,欢迎使用StackOverflow。如果你发现它有用,别忘了。这就是这个网站的工作方式:对不起,我不能进一步帮助,因为这个可能是平台特定的问题。我知道如何在C语言中实现,比如e.getElements'item.这里有一些标准,但在javascript/gas平台中没有。考虑发布另一个问题,以便其他具有JS/GAS专业知识的成员可以帮助你。