gpt4 book ai didi

java - 使用 rss 版本 ="2"解析提要

转载 作者:行者123 更新时间:2023-11-30 10:34:51 27 4
gpt4 key购买 nike

我正在尝试使用 Java ROM 解析 RSS 提要,它的版本不正确:

<rss version="2">

当我将其更改为 "2.0" 时,它会正确解析。我如何使用 Java ROME 解决这个问题?

我可以子类化 RSS20Parser 并覆盖 isMyType 但是我应该在哪里以及如何注册这个新的解析器?

最佳答案

我通过创建 RSS20Parser 的子类并覆盖 isMyType 解决了这个问题。然后我复制了 rome.properties,将子类添加到 WireFeedParser.classes 的解析器列表中,并将此文件放在类路径中。我恰好在用 Clojure 编程,代码如下:

(ns feeds.rss20-parser
(:import (com.rometools.rome.io.impl RSS20Parser)
(org.jdom2 Document))
(:gen-class
:name feeds.RSS20Parser
:extends com.rometools.rome.io.impl.RSS20Parser
:exposes-methods {isMyType parentIsMyType}))

(defn version [^Document doc]
(some-> doc
.getRootElement
(.getAttribute "version")
.getValue
.trim))

(defn -isMyType [^feeds.RSS20Parser this ^Document doc]
(or (.parentIsMyType this doc)
(= "2" (version doc))))

关于java - 使用 rss 版本 ="2"解析提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41485309/

27 4 0
文章推荐: javascript - 捕获