我们在工作中,经常会从服务器获取数据并进行解析,服务器返回的数据有两种:json和xml。json我们可以用gson或者fastjson等优秀的开源框架去进行解析,省去不少麻烦,通常我们只需要把bean设计出来,然后调用一句话就可以解析成功了。而解析xml数据,我们得去一个标签一个标签的去比较,修改起来也非常麻烦,比如我们现在不需要某一个标签上的数据了,我们还得去把代码中那一行给删除,如果我们的需求又变了,现在又需要加上某个标签的数据,那只能再到代码中把相应代码加上,这样非常麻烦,这篇文章我们将介绍如何设计我们自己的xml解析框架,做到可以和gson一样,只需要关心bean的结构,调用一句代码就可以解析成功。
首先我们先来分析一下服务器返回回来的xml数据的格式,然后进行设计。我的数据是从聚合数据上面得到的。
查询成功
NBA2014-2015赛季_火箭队赛程赛果
10-25
08:00
87-96
马刺
http://nba.sports.sina.com.cn/team.php?id=24
火箭
http://nba.sports.sina.com.cn/team.php?id=10
视频集锦
http://video.sina.com.cn/z/sports/k/nba/141025sashou/
数据统计
http://nba.sports.sina.com.cn/look_scores.php?id=2014102410
新闻报道
http://sports.sina.com.cn/nba/2014-10-25/10267382993.shtml
10-29
10:30
108-90
火箭
http://nba.sports.sina.com.cn/team.php?id=10
湖人
http://nba.sports.sina.com.cn/team.php?id=13
视频集锦
http://video.sina.com.cn/z/sports/k/nba/141029houlal/
数据统计
http://nba.sports.sina.com.cn/look_scores.php?id=2014102813
新闻报道
http://sports.sina.com.cn/nba/2014-10-29/13367388047.shtml
10-30
09:00
104-93
火箭
http://nba.sports.sina.com.cn/team.php?id=10
爵士
http://nba.sports.sina.com.cn/team.php?id=26
视频集锦