无法获取元素javascript谷歌应用程序脚本

时间:2012-11-15 00:53:13

标签: javascript xml google-apps-script

我正在尝试获取Feed中的link元素,我可以获取descriptiontitle,但无法获取link元素。这对我来说似乎很奇怪。这是我的代码

var url = "http://healthyhow.net/feed";
var response = UrlFetchApp.fetch(url);
var shareDoc = Xml.parse(response.getContentText(), true);

var root = shareDoc.getElement(); // feed element

var entries = root.getElement("channel").getElements("item");
for (var i=0; i<1; i++) { //just pick the first entry
    var e = entries[i];
    var title = e.getElement("title").getText();
    var link = e.getElement("link").getText();
   var description = e.getElement("description").getText();
}

有人能指出这里有什么问题吗? 谢谢!

1 个答案:

答案 0 :(得分:1)

docs表示你应该对HTML进行宽松的解析 - 目前还不清楚它在底下做了什么,但在你的情况下,可能会让HTML <link>元素与具有相同标签的通用XML元素混淆名称。它似乎会为您的代码解析链接条目(您可以在shareDoc.toXmlString()中看到):

<link/>http://healthyhow.net/l-arginine-natural-treatment-for-hypertension/

因为它是一个空标签,所以没有文字。

更改:

var shareDoc = Xml.parse(response.getContentText(), true);

是:

var shareDoc = Xml.parse(response.getContentText(), false);

你应该能够获得链接文本。