2010-02-20 82 views
2

我正在嘗試編寫一個讀取外部RSS源的簡單Google App Engine網站。我在JDOM上使用ROME,但是我得到了ROME與Google App Engine不兼容以及如何獲取數據的印象。如何從Google App Engine讀取RSS?獲取JDOM無法創建SAX解析器

ROME使用SyndFeedInput類的構建方法,但我找不到任何方式如何這與谷歌App Engine的連接和網址提取。

我的示例代碼:

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 

,如果我跑在自己的獨立應用程序的代碼它的工作原理,但是當我觸發本地代碼通過谷歌App Engine,我得到了例外。

我做錯了什麼,我可以嘗試什麼替代方法來閱讀外部RSS?

回答

0

有一個變通針對此問題與JDOM,然後解決問題羅馬

廣場xercesImpl-xxxjar戰爭/ WEB-INF/lib目錄

http://code.google.com/p/googleappengine/issues/detail?id=1367 很多人複製更多比xercesImpl或包含xerces的庫(例如一些xalan的發行版),但是xercesImpl是您所需要的。

它仍然是一個工作,因爲它看起來JDOM不正確地使用JAXP來加載GAE的SAX解析器。

爲我工作有: GAE 1.3.7 羅馬1.0 JDOM 1.1.1 xercesImpl-2.6.1.jar

1

爲我工作有:GAE 1.4.0羅馬1.0 JDOM 1.1.1 xercesImpl -2.11.0.jar xml-apis.jar