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

如何通过com.rometools.rome获取guid标签的isPermaLink属性值

获取RSS中guid标签的isPermaLink属性值

可以通过com.rometools.rome库获取isPermaLink属性值,你当前调用的syndEntry.getUri()只能拿到guid标签内的文本内容(比如article-67228311),要获取isPermaLink属性,需要调用syndEntry.getGuid()方法得到SyndGuid对象,再通过该对象的isPermaLink()方法获取属性值。

修改后的示例代码如下:

try (CloseableHttpClient client = HttpClients.createMinimal()) {
    HttpUriRequest request = new HttpGet(feedUrl);
    try (CloseableHttpResponse response = client.execute(request); InputStream stream = response.getEntity().getContent()) {
        SyndFeedInput input = new SyndFeedInput();
        SyndFeed feed = input.build(new XmlReader(stream));
        Iterator<SyndEntry> iter = feed.getEntries().iterator(); // 指定泛型类型,避免强制转换
        while (iter.hasNext()) {
            SyndEntry syndEntry = iter.next();
            SyndGuid syndGuid = syndEntry.getGuid();
            if (syndGuid != null) {
                System.out.println("guid内容 ======== " + syndGuid.getValue());
                System.out.println("isPermaLink属性 ======== " + syndGuid.isPermaLink());
            }
        }
    }
}

说明:

  • SyndGuid对象的getValue()方法对应guid标签内的文本内容,和你之前用getUri()得到的结果一致
  • isPermaLink()方法会返回该属性的布尔值(对应XML中的isPermaLink="false"会返回false)
  • 给迭代器指定泛型<SyndEntry>,可以省去强制类型转换,代码更简洁安全

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 10:21:00