Java实现Web版RSS阅读器(三)解析在线Rss订阅2014-11-05 csdn博客 龙轩上篇博客《 Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表》已经写到读取rss订阅列表了,今天就说一下,当获取一条在线rss订阅的信息,怎么去解析它,从而获取文章或资讯。首先说一下rss的版本。很多人都说rss,但是有相当一部分人,都不知道rss居然不只一种格式。我们常用的订阅格式有Rss和Atom 2种格式。Rss有版本从v0.9一直到现在的v2.0,Atom最新的版本则是1.0。DeveloperWorks有一篇文章《使用 RSS 和 Atom 实现新闻联合》提及两者的相似点与不同点:RSS 和 Atom 摘要的相似点每个摘要文件实际上代表一个通道。它包含通道标题、链接、描述、作者等等。通道信息提供关于摘要的基本信息。通道信息之后是一些项。每项代表一篇可以从摘要阅读器阅读的真实的新闻或者文章。通常情况下,每项包含有标题、链接、更新时间和摘要信息。RSS 和 Atom 摘要的不同点参考 RSS 2.0 and Atom 1.0, Compared,回顾 RSS 和 Atom 的不同点。

RSS 和 Atom 具有相似的基于 XML 的格式。它们的基本结构是相同的,只在节点的表达式上有一点区别。在Rss标准格式:
<!-- XML版本和字符集 --> <?xml version="1.0"?> <!-- RSS版本 --> <rss version="2.0"> <!-- 以下为频道信息及新闻资讯或文章列表 --> <channel> <!-- 频道总体信息:开始 --> <!-- 频道标题 --> <title>Lift Off News</title> <!-- 频道链接的总地址 --> <link>http://liftoff.msfc.nasa.gov/</link> <!-- 频道描述文字 --> <description>Liftoff to Space Exploration.</description> <!-- 频道使用的语言(zh-cn表示简体中文) --> <language>en-us</language> <!-- 频道发布的时间 --> <pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate> <!-- 频道最后更新的时间--> <lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate> <docs>http://blogs.law.harvard.edu/tech/rss</docs> <!-- 频道生成器 --> <generator>Weblog Editor 2.0</generator> <ttl>5</ttl> <!-- 频道总体信息:结束 --> <!-- 每条RSS新闻信息都包含在item节点中, --> <item> <!-- 新闻标题 --> <title>Star City</title> <!-- 新闻链接地址 --> <link>http://liftoff.msfc.nasa.gov/news/2013/news-starcity.asp</link> <!-- 新闻内容简要描述 --> <description>How do Americans get ready to work with Russians aboard the International Space Station? They take a crash course in culture, language and protocol at Russia"s Star City.</description> <!-- 新闻发布时间 --> <pubDate>Tue, 03 Jun 2003 09:39:21 GMT</pubDate> <!-- 新闻目录 --> <category>IT</category> <!-- 新闻作者 --> <author>bill</author> <guid>http://liftoff.msfc.nasa.gov/2003/06/03.html#item573</guid> </item> <!-- 第二条新闻信息 --> <item> <title>Space Exploration</title> <link>http://liftoff.msfc.nasa.gov/</link> <description>Sky watchers in Europe, Asia, and parts of Alaska and Canada will experience a partial eclipse of the Sun on Saturday, May 31st.</description> Fri, 30 May 2003 11:06:42 GMT</pubDate> <guid>http://liftoff.msfc.nasa.gov/2003/05/30.html#item572</guid> </item> </channel> </rss>
更多精彩内容:http://www.bianceng.cn/Programming/Java/