使用rsslibj来生成RSS(解决EXML.jar下载问题)

参考 http://blog.csdn.net/arielxp/archive/2004/10/18/141156.aspx 这篇文章,得知有个rsslibj可以使用来开发RSS。随后找到了rsslibj得主页 http://enigmastation.com/rsslibj/

 以及 rsslibj在sourceforge中的下载地址:

http://sourceforge.net/project/showfiles.php?group_id=71153&package_id=70617

         使用这个工具包,需要两个JAR文件,一个是rsslibj的包,另外一个是EXML.jar包。rsslibj包的下载没有什么问题。寻找合适的EXML.jar费了些周折。开始的时候直接找,没有下载。后扩大搜索范围后,在别人提供的代码文件的lib中找到一个EXML.jar.

         然后参考rsslibj主页中的示例代码自己编写了一个简单的实现,结果发现报java.lang.NoSuchMethodError: electric.xml.Element.setString(Ljava/lang/String;)V错误。这个很明显,是EXML.jar包有问题,不能与rsslibj包很好兼容。

      这个时候其实就是两条路,一个是调整rsslibj包,另外一个是调整EXML.jar包。看到介绍说,可以调整rsslibj\writers\GenericRSSWriter.java,将setString方法改为调用setText方法,然后用" element=element.setAttribute"换 "element.setAttribute"

这个方法就需要找到rsslibj.jar的原文件来修改后重新编译。

           比较顺利地找到了rsslibj的cvs库地址:http://rsslibj.cvs.sourceforge.net/rsslibj/ 然后去获取源文件。

           在这个过程中,想到rsslibj都发布了好几个版本了,说明我自己找到的EXML.jar并非rsslibj开发组所使用的JAR。可能他们已经对EXML.jar扩展过了,后来就在cvs里找到了EXML.jar,然后替换掉自己project中的EXML.jar,再去查看EXML.jar中相关类的方法,果然如此。问题解决。

           rsslibj包所使用的EXML.jar的下载地址:

http://rsslibj.cvs.sourceforge.net/rsslibj/lib/EXML.jar

           呵呵,通过百度和google发现是有很多人该问题未解决。在自己这个blog中贴出来,希望可以对碰巧看到的人有些帮助。

原文地址:https://www.cnblogs.com/hannover/p/1899770.html