Java实现Web版RSS阅读器(一)dom4j读取xml(opml)文件

接触java不久,偶有收获,最近想做一个web版RSS阅读器来锻炼一下。手头有几个从不同版本的foxmail中导出的opml文件,大家应该都知道,opml文件就是xml格式的。那么就先从这里入手,练习一下使用dom4j读取xml文件。

在java程序设计中,尤其是java web开发程序,xml应用频率超高。Spring、Hibernate、Struts等各种web 框架,MyEclipse、Oracle等IDE,也都主要依托xml。可以说xml对于系统的配置,有着至关重要的作用。而这些也同时增强了系统的灵活性。

先说一下思路:

新建一个java web项目,不过暂时没有使用jsp,servlet。本文只是使用自带的调试器,先进行测试读取xml。接下来的博文中,会带大家一起显示在已经优化的界面中,并提供大部分的rss阅读器的功能。

由于从不同版本的foxmail中导出,文件格式稍有不同,主要分歧是在订阅分组功能上。有的版本导出来的分组信息是在head/title内容中,body/outline则放的是全部的订阅信息;有的导出来的分组信息则是在body/outline中title和text属性中,而详细的订阅信息则放在body/outline/outline中。

我想做的系统可以支持读取多个opml文件,所以需要一个rss文件列表配置文件【rss_config.xml】,对应一个实体:RssConfigBean.java,主要包含有opml文件路径信息;分组信息也需要单独出来,命名为【RssTeamBean.java】,包括title和text两个属性和一个订阅信息的列表。订阅信息肯定也是独立的,命名为【RssBean.java】,包括text、title、xmlUrl、htmlUrl、version、type六个属性。

首先通过读取rss_config.xml,拿到所有opml文件路径,然后循环读取opml,拿到分组信息及每个分组下的所有详细订阅信息,保存到实体中,以供调用显示。

光说不管用,直接上代码:

①. opml文件

【单分组foxmail6.5.opml】

<?xml version="1.0"?>
<opml version="1.1">
    <head>
        <title>六期新博客地址</title>
    </head>
    <body>
        <outline text="丁成云" title="丁成云" type="rss" version="RSS" xmlUrl="http://blog.csdn.net/sundenskyqq/rss/list" htmlUrl="http://blog.csdn.net/sundenskyqq" description="" />
        <outline text="韩正阳" title="韩正阳" type="rss" version="RSS" xmlUrl="http://blog.csdn.net/jiudihanbing/rss/list" htmlUrl="http://blog.csdn.net/jiudihanbing" description="" />  

    </body>
</opml>

【多分组foxmail7.opml】

<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
    <head>
        <title>Subscription in Foxmail</title>
    </head>
    <body>
        <outline title="八期" text="八期">
            <outline htmlUrl="http://blog.csdn.net/shan9liang" xmlUrl="http://blog.csdn.net/shan9liang/rss/list" version="RSS" type="rss" title="贾琳" text="贾琳的专栏" />
        </outline>
        <outline title="随便看看" text="随便看看">
            <outline htmlUrl="http://blog.csdn.net/blogdevteam" xmlUrl="http://blog.csdn.net/blogdevteam/rss/list" version="RSS" type="rss" title="CSDN 官方博客" text="CSDN 官方博客" />
            <outline htmlUrl="http://blog.csdn.net/zhoufoxcn" xmlUrl="http://blog.csdn.net/zhoufoxcn/rss/list" version="RSS" type="rss" title="周公的专栏" text="周公的专栏" />  

        </outline>
        <outline title="提高班" text="提高班">
            <outline htmlUrl="http://sxyandapp.blog.163.com" xmlUrl="http://sxyandapp.blog.163.com/rss" version="RSS" type="rss" title="石小永" text="石小永" />
            <outline htmlUrl="http://blog.csdn.net/qiulongtianshi" xmlUrl="http://blog.csdn.net/qiulongtianshi/rss/list" version="RSS" type="rss" title="郭校林" text="郭校林" />
        </outline>
    </body>
</opml>

更多精彩内容:http://www.bianceng.cn/Programming/Java/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, xml
, dom4j
, 文件
, 分组
, 信息
, 订阅
, servlet file dom4j
, JSP实现RSS功能
, rss订阅java代码
, JSP的RSS阅读器
, java版
, 读取RSS
java读取xml文件
rss opml、.xml 转换成 .opml、rss阅读器、rss阅读器下载、rss阅读器哪个好,以便于您获取更多的相关知识。

时间: 2024-08-23 19:45:31

Java实现Web版RSS阅读器(一)dom4j读取xml(opml)文件的相关文章

Java实现Web版RSS阅读器(五)初步完成阅读功能

上一篇博文<Web版RSS阅读器(四)--定制自己的Rss解析库myrsslib4j>中,已经分享给大家制作自己的rss解析库.稍微有点遗憾的是,它仅仅支持rss格式的博客.现在给大家分享一下我基于rome修改而成的另一款rss解析库--myrome,完美支持atom和rss 2种格式. myrome.jar是在rome的基础上修改而来的,主要改动的地方是:(查看详细修改说明) 修改GetAuthor()返回null 修改getPublishedDate()返回null 添加获取文章摘要的接口

Java实现Web版RSS阅读器(四)定制自己的Rss解析库myrsslib4j

在上篇博文<Web版RSS阅读器(三)--解析在线Rss订阅>中,已经提到了遇到的问题,这里再详细说一下. 在解析rss格式的订阅时,遇到的最主要的问题是,出现了"Server returned HTTP response code: 403 for URL: http://xxxxxx"的错误,百度一下就知道,这是在网站访问中很常见的一个错误,服务器理解客户的请求,但拒绝处理它.即拒绝访问!接着查资料,得知某些服务器(比如CSDN博客)拒绝java作为客户端进行对其的访问

Java实现Web版RSS阅读器(三)解析在线Rss订阅

上篇博客< Web版RSS阅读器(二)--使用dTree树形加载rss订阅分组列表>已经写到读取rss订阅列表了,今天就说一下,当获取一条在线rss订阅的信息,怎么去解析它,从而获取文章或资讯. 首先说一下rss的版本.很多人都说rss,但是有相当一部分人,都不知道rss居然不只一种格式.我们常用的订阅格式有Rss和Atom 2种格式.Rss有版本从v0.9一直到现在的v2.0,Atom最新的版本则是1.0. DeveloperWorks有一篇文章<使用 RSS 和 Atom 实现新闻联

Java实现Web版RSS阅读器(二)使用dTree树形加载rss订阅分组列表

在上一边博客<Web版RSS阅读器(一)--dom4j读取xml(opml)文件>中已经讲过如何读取rss订阅文件了.这次就把订阅的文件读取到页面上,使用树形结构进行加载显示. 不打算使用特殊的控件进行树型显示,也不想自己写了,想省劲些,就在 网上找了一个js树形脚本--dTree.dTree是一个易于使用的JavaScript树形 菜单控件.支持无限分级,可以在同一个页面中放置多个dTree,可以为每个 节点指定不同的图标. 主页:http://destroydrop.com/javascr

Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表

      在上一边博客<Web版RSS阅读器(一)--dom4j读取xml(opml)文件>中已经讲过如何读取rss订阅文件了.这次就把订阅的文件读取到页面上,使用树形结构进行加载显示.       不打算使用特殊的控件进行树型显示,也不想自己写了,想省劲些,就在 网上找了一个js树形脚本--dTree.dTree是一个易于使用的JavaScript树形 菜单控件.支持无限分级,可以在同一个页面中放置多个dTree,可以为每个 节点指定不同的图标.       主页:http://destr

Web版RSS阅读器(一)——dom4j读取xml(opml)文件

      接触java不久,偶有收获,最近想做一个web版RSS阅读器来锻炼一下.手头有几个从不同版本的foxmail中导出的opml文件,大家应该都知道,opml文件就是xml格式的.那么就先从这里入手,练习一下使用dom4j读取xml文件.       在java程序设计中,尤其是java web开发程序,xml应用频率超高.Spring.Hibernate.Struts等各种web 框架,MyEclipse.Oracle等IDE,也都主要依托xml.可以说xml对于系统的配置,有着至关重

Web版RSS阅读器(五)——初步完成阅读功能

       上一篇博文<Web版RSS阅读器(四)--定制自己的Rss解析库myrsslib4j>中,已经分享给大家制作自己的rss解析库.稍微有点遗憾的是,它仅仅支持rss格式的博客.现在给大家分享一下我基于rome修改而成的另一款rss解析库--myrome,完美支持atom和rss 2种格式.       myrome.jar是在rome的基础上修改而来的,主要改动的地方是:(查看详细修改说明) 修改GetAuthor()返回null 修改getPublishedDate()返回nul

Web版RSS阅读器(四)——定制自己的Rss解析库myrsslib4j

        在上篇博文<Web版RSS阅读器(三)--解析在线Rss订阅>中,已经提到了遇到的问题,这里再详细说一下.         在解析rss格式的订阅时,遇到的最主要的问题是,出现了"Server returned HTTP response code: 403 for URL: http://xxxxxx"的错误,百度一下就知道,这是在网站访问中很常见的一个错误,服务器理解客户的请求,但拒绝处理它.即拒绝访问!接着查资料,得知某些服务器(比如CSDN博客)拒绝

用JSP实现基于Web的RSS阅读器

js|rss|web 一: RSS介绍 根据维基百科(http://zh.wikipedia.org/wiki/RSS)的定义,"RSS是一种用于共享新闻和其他Web内容的数据交换规范 ",它是一系列的规范的组合,采用XML格式.目前国内RSS应用最多的是在新闻网站和博客网站上. 许多网站可以用RSS阅读器来个性化自己的网页,比如显示最新的新浪新闻,显示自己好朋友最新的博客文章,显示最新的Google论坛内容.除此之外,利用RSS阅读器还可以实现其它用途,比如: 获得天气预报 接收邮件