我正在尝试编写一个简单的 Google App Engine 网站来读取外部 RSS 提要。我将 ROME 与 JDOM 一起使用,但我的印象是 ROME 与 Google App Engine 以及您获取数据的方式不兼容。
ROME 使用 SyndFeedInput 类的build 方法,但我找不到任何方法将它与 Google App Engine 和 URL Fetch 连接起来。
我的示例代码是:
URL url = new URL(rss_url);
Reader r = new InputStreamReader(url.openStream());
SyndFeed feed = new SyndFeedInput().build(r);
但是在我的第三行我得到了一个
java.lang.IllegalStateException: JDOM could not create a SAX parser
如果我在自己的独立应用程序中运行代码,它会工作,但是当我通过本地 Google App Engine 触发代码时,我会遇到异常。
我做错了什么以及我可以尝试哪些替代方法来阅读外部 RSS?
最佳答案
看起来 ROME 在 GAE 上不受支持:
http://old.nabble.com/ROME-and-AppEngine-td23290454.html
http://code.google.com/p/googleappengine/issues/detail?id=1367
解决方法似乎是在您的应用程序中包含 Xerces JAR 的副本,这样 JDOM 就不会尝试从 GAE 本身加载它。
关于java - 如何从 Google App Engine 读取 RSS?获取 JDOM 无法创建 SAX 解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2302652/