问题标签 [rome]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - RSS阅读器和解析器使用java
我需要使用 Java 实现 RSS 阅读器。
我设计了读取 RSS 提要 XML URL 并获取内容并将其存储在 Java 类中的 Java 类。
每当 RSS 感觉 URL 有更新时,我需要使用 Java 类解析 RSS 提要 XML URL,只有这样我才能获得更新的内容。
这里的问题是我们如何通知 Java 类 RSS 感觉 XML URL 已经更新,以便 Java 类可以解析 URL 并获取更新的内容?
我们是否必须实现线程才能连续运行解析过程?或者那里有任何替代的最佳解决方案?
rss - 使用 ROME 下载 RSS 提要中的所有条目
我正在使用来自 Scala 的 ROME 下载 RSS 提要,但它只获取条目的一个子集。例如,Google Reader 至少找到 61 个Bing Images条目,但 ROME 只找到 10 个条目。这是一些代码:
这不是特定于提要的;这个 Flickr 提要有很多条目,但在本例中 ROME 找到 20 个条目。
如何获取提要中条目的完整列表?
java - 覆盖 ROME 的 DateParser 的简单方法?
我需要处理的 RSS 2.0 提要返回 ROME 的 DateParser 无法解析的日期条目,并提供null
所有日期。不仅如此,不存在合适的 SimpleDateFormat 模式(可以简单地在 rome.properties 中指定),因此在解析输入之前需要对其进行预处理。ROME 的 DateParser 已经在内部完成了这些事情,例如在将 RFC822 日期输入中的“UT”替换为“GMT”之前,再将其提供给 Java DateFormat 解析器。我只需要添加一个类似的修改。
我现在要做的是在我的项目副本中包含 ROME 的 RSS20Parser.java 及其扩展的所有提要解析器类,以涵盖对 ROME 的 DateParser 的所有引用,并提供我自己的 DateParser 类,然后提要解析器类引用而不是原始的 DateParser。
鉴于 ROME 的插件结构,我希望能够简单地插入我自己的 DateParser,但找不到这样做的方法。我错过了什么?我能否以某种方式将 ROME 与我自己的 DateParser 一起使用,但不必复制所有预期使用它的提要解析器类?
java - 为什么我的 IDE 不能识别我认为我已正确导入到 JSP 中的这种类型?
这让我发疯,我已经在这里和这里寻求以前的答案,但到目前为止无济于事。
我正在尝试遵循本教程,该教程使用 RSS 提要的罗马库来使用 servlet 将提要条目输出到 JSP。我正在使用 Eclipse,即使我已将 JAR 放在项目的构建路径和 WEB-INF/lib 文件夹中,它也无法识别来自罗马的“SyndFeed”类。仍然为以下代码显示“未定义类型”:
在此之上,我有:
我使用 Rome 的 servlet 基本上直接来自本教程:
servlet 没有显示编译错误。所有导入都可以,包括 from com.sun.syndication.feed.synd.SyndFeed
。
我不知所措。在此先感谢您的帮助!
java - java.lang.ClassNotFoundException: org.jdom.JDOMException
尝试加载 rss 页面时收到以下错误消息:
触发错误的代码行是:
我已经用谷歌搜索了这个错误消息并阅读了几篇关于它的帖子,包括这个网站上的帖子。这些帖子表明将 jdom.jar 添加到构建路径将导致错误消失。但是,我已将与 jdom-2.0.4.jar 捆绑在一起的所有 8 个 jar 文件添加到我在 eclipse 中的构建路径中,但每次尝试加载 rss 页面时错误消息仍然存在。
我想知道问题是否可能与我正在使用 jdom-2.0.4.jar 的事实有关,而这可能是较旧的语法:
此错误消息的其他帖子均来自旧版本的 jdom。也许有一些新的语法可以在新版本的 jdom 中调用 SyndFeedOutput() 的等价物?
谁能帮我解决这个错误信息?
编辑:
为了解决 Nocmear 的建议,我已确认以下 9 个 jar 文件是我的应用程序的构建路径中包含的唯一与 jdom 或 rome 相关的 jar 文件:
第二次编辑:
正如 rolfl 所建议的,我下载了 jdom-1.1.3 并将其添加到我在 Eclipse 中的应用程序的构建路径中。
当我在网络浏览器中加载 rss 页面时,tomcat 给了我以下错误日志:
现在包含在我的构建路径中的相关 jar 文件是:
此外,我尝试按照 Nocmear 的建议将这些 jars 添加到 tomcat 中的 bin 文件中,但这只是在 eclipse 中触发了错误消息,所以我将它们放回 eclipse 应用程序中。
也许我不明白人们的建议。或者也许有人可能有其他建议。任何帮助表示赞赏。
java - 无法使用 Rome API 从提要中读取图像 URL
我正在使用 ROME 解析器来解析我的 RSS/Atom 提要。现在的问题是它没有给出新闻提要/条目的图像 URL。部分问题还在于提要不一致,并且它们放置的图像网址不一致。
BBC 新闻将图像 url 放入<media:thumbnail...>
元素中
但是一些新闻提要将图像放在附件元素中。有些提要根本没有它们。
所以我的问题是;如果它们出现在提要中,我该如何获取它们。到目前为止,Rome API 对我来说一直很完美;但现在我陷入了困境。
java - Rome RSS 不解析附件
我尝试使用带有附件的 Rome 创建一个 rss Feed(用于播客)。所以我创建了一个条目
在我设置条目的基本信息(如标题和链接)后,我想为媒体文件设置一个附件。
但是当我输出RSS文件时
附件不会出现在 RSS 文件中。
java - 如何更改 Java ROME 解析器默认套接字超时?
我正在使用 Java ROME 作为我的 XML 解析器以级联方式解析大量 RSS 提要。有时,由于网络问题,其中一个 RSS 提要可能无法访问,这会在尝试创建 XMLReader 对象 (new XMLReader(url)) 时导致 Socket 超时。
问题是默认超时持续大约 2 年,当它发生时,它会减慢整个过程。
有没有办法改变 Java ROME 中的默认套接字超时?
java - 使用 Rome 将 SyndFeed 转换为 SyndEntry
我目前正在研究一个暗示 XML 提要解析(Atom 2005)的项目,我正在使用 Rome 来执行此操作。
我目前有两种要解析的 XML 结构。
第一种:
(一个提要,包含多个条目)
第二种:
(一个条目,但它不包含在“提要”中)
我的目标是制作一个解析输入 XML 并获取信息的 bean“MyEntry”。我的理想是拥有一个构造函数(例如,它以 SyndEntry 作为参数)。
我这样做了:
当我获得第一种 XML 提要时,我可以获得“SyndEntry”对象:
--> 但是对于第二种类型的 XML,没有“提要”容器,我找不到任何直接从 XML 构建 SyndEntry 的方法(比如“SyndEntryInput”?)。我得到的是“SyndFeed”而不是“SyndEntry”,即使所有信息都可以访问。
因此,我正在寻找一种将 SyndFeed 转换为 SyndEntry(或反向)的方法,使用超类(我找不到 SyndEntry 和 SyndFeed 共有的任何超类)或专用转换器。
我目前的解决方案是创建两个构造函数(一个采用“SyndFeed”,另一个采用“SyndEntry”),但它非常难看,因为我有一个方法“getSyndData()”,它理想地返回用于构造的对象,用于检索通用信息(即:getSyndData().getTitle())
任何帮助或想法将不胜感激