jsp中实现读取RSS——SAX解析XML

今天由于公司项目需要接触了读取RSS的知识。

先介绍一下项目需求——给定RSS的链接,要求只读取出其中的6条带链接的title。

       到网上一搜,全是关于ROME来读取RSS的例子。开始我也选用了REMO来实现,结果发现显示速度那是相当的慢啊。于是开始研究自己写xml的解析。选用了SAX,关于为什么选取SAX而不选择DOME,网上说明一大堆,此处不再赘述。

1、建立RssReader类extends DefaultHandler。

    覆盖startDocument(),endDocument(),startElement(),endElement(),characters()四个方法。

startDocument():当xml文档开始解析时调用。

endDocument():当xml文档解析完毕时调用。

startElement():当解析遇到标签时执行,如<title><name>等。

endElement():当遇到结束标签时执行,如</title></name>等。

characters():从当前正在解析的element中解析出数据。

由于只需要获得前6条数据,因此只需要在解析到6条记录后便停止。

2、类中定义如下变量:

     private int maximumResults =6;//解析的数据条数,可通过传参动态改变

     private static final int MAX_ELEMENTS = 500;//在停止之前可以允许的最大解析条数,即在element中碰到</...>之前深入的层数  
     private int ecount = 0;//记录当前深入的层数    。
     private int rcount =0;//记录当前已经得到的记录数。

     private String currentText="";//解析得到的数据

     private ArrayList News = new ArrayList();//存储得到的数据

     private BlogInfo NI = null;//存储数据结构

3、返回解析得到的数据方法(以HTML格式返回);

4、startElement()方法:

5、endElement()方法():

 

6、characters方法():

7、BlogInfo类:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值