用了rome 0,8的jar包,代码大部分来自于rome-samples-0.7 。
对了,放个rome的链接Rome's Home,可以直接去下载。还有就是在用rome的时候,把信息输出到xml文件里
<wbr>,部分出现乱码不知道是怎么回事<wbr>,我读的feed文件是utf-8的,我也是通过utf8读的<wbr>,但是还是有一部分乱码。今天找了一天也没有解决。。。
<!----> 1 /*
2 * Created on 2006-7-11
3 *
4 * TODO To change the template for this generated file go to
5 * Window - Preferences - Java - Code Style - Code Templates
6 */
7 package border;
8
9 import java.io.FileWriter;
10 import java.io.Writer;
11 import java.net.URL;
12 import java.util.List;
13
14 import com.sun.syndication.feed.synd.SyndContent;
15 import com.sun.syndication.feed.synd.SyndEntry;
16 import com.sun.syndication.feed.synd.SyndFeed;
17 import com.sun.syndication.fetcher.FeedFetcher;
18 import com.sun.syndication.fetcher.impl.FeedFetcherCache;
19 import com.sun.syndication.fetcher.impl.HashMapFeedInfoCache;
20 import com.sun.syndication.fetcher.impl.HttpURLFeedFetcher;
21 import com.sun.syndication.io.SyndFeedOutput;
22
23 /**
24 * @author Border
25 *
26 * TODO To change the template for this generated type comment go to Window -
27 * Preferences - Java - Code Style - Code Templates
28 */
29 public class RSSReader {
30 private static final String feedType = "rss_2.0";
31
32 public static void main(String[] args) throws Exception {
33
34 String filename = "E:\\ROME\\feed_fetcher2.xml";
35 try {
36 FeedFetcherCache feedInfoCache = HashMapFeedInfoCache.getInstance();
37 FeedFetcher feedFetcher = new HttpURLFeedFetcher();
38 SyndFeed feed = feedFetcher.retrieveFeed(new URL(
39 "http://www.blogjava.net/border/Rss.aspx"));
40
41 feed.setFeedType(feedType);
42 feed.setTitle("Border's Blog");
43 feed.setDescription(" java Web3D FreeBsd ");
44 feed.setAuthor(" By:border ");
45 feed.setLink(" http://www.blogjava.net/border ");
46
47 List entryList = feed.getEntries();
48
49 for (int i = 0; i < entryList.size(); i++) {
50 SyndEntry entry = (SyndEntry) entryList.get(i);
51
52 entry.setPublishedDate(entry.getPublishedDate());
53 entry.setTitle(new String(entry.getTitle().getBytes("utf-8")));
54 entry.setLink(entry.getLink());
55
56 SyndContent content = entry.getDescription();
57 content.setValue(new String(content.getValue()
58 .getBytes("utf-8")));
59 }
60 SyndFeedOutput output = new SyndFeedOutput();
61 Writer writer = new FileWriter(filename);
62 output.output(feed, writer);
63
64 System.out.println("The feed has been written to the file ["
65 + filename + "]");
66 System.out.println(" ok !");
67
68 } catch (Exception e) {
69 System.out.println("ERROR: " + e.getMessage());
70 }
71 }
72 }
下面是生成的xml文件:
<!----> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <rss xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
3 <channel>
4 <title>Border's Blog</title>
5 <link>http://www.blogjava.net/border</link>
6 <description>java Web3D FreeBsd</description>
7 <language>zh-cn</language>
8 <pubDate>Thu, 06 Jul 2006 11:05:25 GMT</pubDate>
9 <dc:creator>By:border</dc:creator>
10 <dc:date>2006-07-06T11:05:25Z</dc:date>
11 <dc:language>zh-cn</dc:language>
12 <item>
13 <title>免费MySQL数据库申譿</title>
14 <link>http://www.blogjava.net/border/archive/2006/07/06/57015.html</link>
15 <description> <a href="http://www.db4free.net/"><img alt="" src="http://www.kuangfeng.cn/blog/wp-content/uploads/2006/03/db4free.jpg" align="left" border="0" /></a><br /><br /><br /><br /><a href="http://www.db4free.net/">Db4free</a>:专业提供免费数据库服务,支持 MySQL 5.0ﺿ5.1,支持使用Phpmyadmin进行管理,以后还将扩展支持PostgreSQL, Firebird 等数据库.<img src ="http://www.blogjava.net/border/aggbug/57015.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="/border/" target="_blank">Border</a> 2006-07-06 19:05 <a href="/border/archive/2006/07/06/57015.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div></description>
16 <pubDate>Thu, 06 Jul 2006 11:05:00 GMT</pubDate>
17 <guid isPermaLink="false">http://www.blogjava.net/border/archive/2006/07/06/57015.html</guid>
18 <dc:creator>Border</dc:creator>
19 <dc:date>2006-07-06T11:05:00Z</dc:date>
20 </item>
21 <item>
22 <title>刚刚大厦晃的利害,是不是有些地震叿 -- 北京</title>
23 <link>http://www.blogjava.net/border/archive/2006/07/04/56502.html</link>
24 <description> 刚刚大厦晃的利害,是不是有些地震叿 ,在17层感觉比较厉害,不知道在北京的其他同志有没有注意到<img src ="http://www.blogjava.net/border/aggbug/56502.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="/border/" target="_blank">Border</a> 2006-07-04 12:20 <a href="/border/archive/2006/07/04/56502.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div></description>
25 <pubDate>Tue, 04 Jul 2006 04:20:00 GMT</pubDate>
26 <guid isPermaLink="false">http://www.blogjava.net/border/archive/2006/07/04/56502.html</guid>
27 <dc:creator>Border</dc:creator>
28 <dc:date>2006-07-04T04:20:00Z</dc:date>
29 </item>
30 <item>
31 <title>通过js等比扩大图片的比伿</title>
32 <link>http://www.blogjava.net/border/archive/2006/07/03/56279.html</link>
33 <description>摘要: 在做web庿发的时㿙,显示图片是经常用到ῂ在默认的情况下图片是扩充,但是有的时㿙显示效果会不如人意。有时容器的大小是固定的,我们要把图片等比扩大<a href='http://www.blogjava.net/border/archive/2006/07/03/56279.html'>阅读全文</a>⾿<img src ="http://www.blogjava.net/border/aggbug/56279.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="/border/" target="_blank">Border</a> 2006-07-03 12:13 <a href="/border/archive/2006/07/03/56279.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div></description>
34 <pubDate>Mon, 03 Jul 2006 04:13:00 GMT</pubDate>
35 <guid isPermaLink="false">http://www.blogjava.net/border/archive/2006/07/03/56279.html</guid>
36 <dc:creator>Border</dc:creator>
37 <dc:date>2006-07-03T04:13:00Z</dc:date>
38 </item>
39 </channel>
40 </rss>
41
42
By:border
</wbr></wbr></wbr>
分享到:
相关推荐
《Rome使用简单说明二(部分关键源码分析)》 在Java开发中,Rome是一个用于处理RSS和Atom feeds的开源库。它提供了一系列的API,使得开发者能够轻松地读取、创建和更新这些标准格式的feed。本文将重点探讨Rome库中的...
你可以通过它们读取XML文件或从URL获取feed,并将其转换为Java对象进行处理。 - `SyndFeed`: 表示RSS或Atom feed的模型类,包含了feed的所有元数据和条目(entries)。 - `SyndEntry`: 表示feed中的单个条目,包括...
项目中的其他部分,如数据库连接、文件读写等,都应使用相同的字符编码,以避免在数据传输和转换过程中出现乱码。 另外,有时问题可能出在环境差异上,比如在不同操作系统或服务器上的字符集设置不同。这时,可以在...
接下来,我们将通过一个简单的实例来展示如何使用Rome解析RSS feed。首先,我们需要导入必要的库: ```java import com.rometools.rome.feed.synd.SyndFeed; import com.rometools.rome.io.SyndFeedInput; import ...
描述中提到的“java相关RSS 部分资料已经生成代码和jar包”,意味着这个压缩包内不仅包含Rome库的jar文件,还可能有开发者编写的示例代码,帮助我们理解和使用RSS功能。这可能是几个独立的Java类或一个完整的项目,...
- ROME1.0SRC.rar包含的是Rome的源代码,通过阅读源码,开发者可以深入了解其内部工作原理,包括如何解析XML结构,如何构建和操作Feed对象等。 - 源码学习有助于理解数据模型,如`Feed`, `Entry`, `Category`等类...
8. **版本升级与兼容性**:尽管1.0RC2是一个早期版本,但随着Rome的后续版本发布,可能会出现一些功能增强和错误修复。因此,开发者应关注Rome的最新版本,以确保应用能够利用最新的改进并保持兼容性。 总的来说,...
【标题】"rome-1.0.jar 与 rome.jar:源码解析" 【内容】 在Java开发中,库和...通过仔细研究"rome-1.0.jar"和"rome.jar"的源码,开发者可以更好地利用这些工具,同时也能为未来可能出现的类似项目提供宝贵的参考。
JDOM和ROME的结合使用,可以实现从XML文档中提取RSS Feed,然后通过ROME解析这些Feed,提取出文章标题、描述、链接等信息,甚至可以进一步处理这些信息,比如存入数据库或进行数据分析。这样的组合,为开发者提供了...
通过使用ROME,开发者可以轻松地从网站抓取和解析RSS feed,或者创建自己的RSS feed并发布到网络。 在描述中提到的“rome开发rss”,意味着这个压缩包可能包含了使用ROME库进行RSS开发的相关示例或代码。JDOM的提及...
4. **错误处理**:在处理feed时,Rome提供了一套完整的异常处理机制,帮助开发者处理解析过程中可能出现的问题,如格式错误、网络问题等。 "rome-0.9.jar.zip"是这个库的压缩文件,通常包含了"rome-0.9.jar"本身...
Rome 是一个基于 Java 的开源项目,提供了一组 Atom/RSS 工具类,以使得用 Java 可以更方便和快捷地操作大部分 Syndication 格式数据。Rome 需要 JDK1.4 以上版本和 JDom.jar。 Rome 的主要功能包括解析器和生成器...
在开发过程中,为了简化RSS处理,出现了各种开源框架,其中ROME(Really Simple Syndication)是一个流行的Java库。 **ROME框架** ROME1.0是该框架的一个版本,它提供了对RSS和Atom feeds的全面支持。通过使用ROME...
1. **读取XML文件**:通过SAX或DOMBuilder,JDOM可以从XML文件中构建一个Document对象。 2. **创建XML文档**:利用Element、Attribute等类,可以方便地构建XML文档结构。 3. **修改XML文档**:找到特定的元素或属性...
2. **解析RSS和Atom Feed**:Rome可以读取RSS和Atom格式的feed,将其解析为Java对象,方便进行进一步的数据处理和分析。 3. **模版支持**:Rome支持使用模版来生成feed,这允许开发者自定义feed的结构和样式,满足...
使用"rome-1.0.jar"时,开发者首先需要将其添加到项目类路径中,然后就可以通过导入相关类和方法来处理RSS或Atom feed。罗马库提供了解析、构建和转换feed的工具,例如,它可以将XML数据解析为Java对象,也可以将...
最后,使用ROME将这个JDOM结构转换成RSS feed对象,可以进一步保存为XML文件或直接发布到服务器。 总的来说,"jdom+rome-0.9 jar包合集"是一个包含处理XML和构建RSS feeds所需库的打包资源。无论是为了解析XML文档...