You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Apps Script中解析Feed中每个条目的标题?

解决RSS解析中「Cannot read property 'getText' of null」的问题

错误原因

你解析的是Atom格式的Feed,<title>元素属于你定义的Atom命名空间(http://www.w3.org/2005/Atom),但调用item.getChild('title')时没有传入对应的命名空间参数,导致方法找不到元素返回null,后续调用getText()就触发了报错。

修复后的代码

function parseFeed() {
  var feed = UrlFetchApp.fetch("https://www.reddit.com/r/GoogleAppsScript.rss?limit=1000").getContentText();
  feed = XmlService.parse(feed);

  var namespace = XmlService.getNamespace("http://www.w3.org/2005/Atom");
  var items = feed.getRootElement().getChildren("entry", namespace);  

  items.forEach(item => {
    // 调用getChild时传入命名空间,确保找到正确的title元素
    var titleElement = item.getChild('title', namespace);
    if (titleElement) { // 额外增加空值判断,避免意外报错
      var title = titleElement.getText();
      Logger.log(title);
    } else {
      Logger.log("当前条目无title元素");
    }
  });
}

调试技巧

  • 打印条目结构:如果不确定元素位置,可在循环中加入Logger.log(item.toString()),查看当前条目的所有子元素信息,确认目标元素的名称和命名空间。
  • 批量检查元素:用item.getChildren(namespace)获取当前条目下所有带目标命名空间的子元素,遍历打印它们的标签名,快速定位元素是否存在。

内容的提问来源于stack exchange,提问作者hagu81

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 17:05:43