Simple XML解析XML

源数据如下:

<rss version="2.0"><channel><item><newsid>321993</newsid><title><![CDATA[德国骨科之力:和泉纱雾手办开订,买手办送角色CV写真]]></title><v>000</v><url><![CDATA[/html/it/321993.htm]]></url><postdate>2017-8-19 12:40:45</postdate><image>http://img.ithome.com/newsuploadfiles/thumbnail/2017/8/321993.jpg</image><description><![CDATA[近日,A-1改编的四月番《情色漫画老师》女主角和泉纱雾最新手办开订,其中,豪华版还将附赠和泉纱雾声优藤田茜的写真集,以及原作者伏见司签名的明信片和电]]></description><hitcount>805</hitcount><commentcount>28</commentcount><forbidcomment>false</forbidcomment><cid>32</cid></item><item><newsid>321992</newsid><title><![CDATA[三星“弃疗”:Note 8旗舰机现身官网,外观一览无余]]></title><v>000</v><url><![CDATA[/html/android/321992.htm]]></url><postdate>2017-8-19 12:38:42</postdate><image>http://img.ithome.com/newsuploadfiles/thumbnail/2017/8/321992.jpg</image><description><![CDATA[从外观到配置以及价格,三星即将在8月23日正式发布的下半年旗舰Note 8基本上已经没有秘密可言,但意外的是三星在发布会之前自己也做了一把爆料者]]></description><hitcount>3820</hitcount><commentcount>84</commentcount><forbidcomment>false</forbidcomment><cid>74</cid></item><item><newsid>321991</newsid><title><![CDATA[高通高层:一定能赢下和苹果的专利诉讼]]></title><v>000</v><url><![CDATA[/html/it/321991.htm]]></url><postdate>2017-8-19 12:35:02</postdate><image>http://img.ithome.com/newsuploadfiles/thumbnail/2017/8/321991.jpg</image><description><![CDATA[芯片巨头高通和苹果的专利侵权诉讼已经持续了好几个月,目前看起来也远未到结束的时候。不过,近日该公司执行副总裁兼总法律顾问Donald J. Rosenberg强调,高通一定会赢]]></description><hitcount>402</hitcount><commentcount>20</commentcount><forbidcomment>false</forbidcomment><cid>150</cid></item><item><newsid>321990</newsid><title><![CDATA[vivo X20通过3C认证:支持18W快充]]></title><v>000</v><url><![CDATA[/html/android/321990.htm]]></url><postdate>2017-8-19 12:13:23</postdate><image>http://img.ithome.com/newsuploadfiles/thumbnail/2017/8/321990.jpg</image><description><![CDATA[vivo X9s、X9s Plus之后,vivo新旗舰已经在路上了。近日,两款型号为X20和X20A的vivo新机已通过3C认证,从相关信息来看,这两款机型支持最大18W快充]]></description><hitcount>2814</hitcount><commentcount>50</commentcount><forbidcomment>false</forbidcomment><cid>74</cid></item><item><newsid>321973</newsid><title><![CDATA[量变的8代Core:更多Intel Coffee Lake处理器规格曝光]]></title><v>000</v><url><![CDATA[/html/digi/321973.htm]]></url><postdate>2017-8-19 10:49:35</postdate><image>http://img.ithome.com/newsuploadfiles/thumbnail/2017/8/321973.jpg</image><description><![CDATA[在昨天我们报道了Coffee Lake的性能提升幅度PPT,但由于照片太模糊,部分参数无法看清,本着对读者负责任的态度,干脆只给出型号和单/多线程性能提升的资料]]></description><hitcount>6030</hitcount><commentcount>125</commentcount><forbidcomment>false</forbidcomment><cid>100</cid></item></channel>
</rss>

开始解析

可以看到源数据分为3层,我分别以ScienceRSS,ScienceChannel,ScienceNews来名称

  • 第一层是一个对象
  • 第二层是一个List
  • 第三层是一个对象

第一层

@Root(name = "rss", strict = false)
public class ScienceRSS {
//里面有一个version,如果不加strict = false就会报错@Element(name = "channel")public ScienceChannel scienceChannel;
}

第二层

@Root(name = "channel")  //根元素
public class ScienceChannel {@ElementList(inline = true, required = false)  //里面是数组public List<ScienceNews> mScienceNewsList;public List<ScienceNews> getmScienceNewsList() {return mScienceNewsList;}public void setmScienceNewsList(List<ScienceNews> mScienceNewsList) {this.mScienceNewsList = mScienceNewsList;}
}

第三层

@Root(name = "item", strict = false)
public class ScienceNews {/*** 新闻id*/@Element(name = "newsid")public String newsId;/*** 新闻标题*/@Element(name = "title")public String title;/*** 新闻的url(不完整)*/@Element(name = "url")public String url;/*** 更新时间*/@Element(name = "postdate")public String postdate;/*** 图片地址*/@Element(name = "image")public String image;/*** 描述*/@Element(name = "description")public String description;/*** 点击数量*/@Element(name = "hitcount")public String hitCount;/*** 评论数量*/@Element(name = "commentcount")public String commentCount;/*** 禁止评论?   false  true*/@Element(name = "forbidcomment")public boolean forbidComment;@Element(name = "cid")public String cid;
}

正式开始用Simple XML进行解析

Persister persister = new Persister();
ScienceRSS scienceRSS = persister.read(ScienceRSS.class, result);
ScienceChannel scienceChannel = scienceRSS.scienceChannel;
return scienceChannel.getmScienceNewsList();

怎么样,是不是非常简单啊.不过现在用XML是真的少,一般都用JSON.了解一下还是好的.

Simple XML解析XML相关推荐

  1. XML——解析XML文档

    [0]README 0.1)本文描述 转自 core java volume 2, 旨在理解 XML--解析XML文档 的基础知识: 0.2) for source code, please visi ...

  2. C++中XML的读写操作(生成XML 解析XML)

    一.用Poco库 Poco库是下载.编译和使用:www.cnblogs.com/htj10/p/11380144.html DOM(The Document Object Model)方式: 1. 生 ...

  3. XML 解析XML文档 XML约束

    XML 什么是XML Extensible Markup Language(可扩展的标记语言) 他是一个语言,有自己的语法,和Java以及其他的编程无关 "标记" 在文件中包含类似 ...

  4. Python3解析XML文件(xml.etree.ElementTree)——以简单网络爬虫为例

    文章目录 简单爬虫案例(XML解析)# XML文件生成 本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 内容可能有不到之处,欢迎交流. 未经本人,允许禁止转载. ...

  5. TinyXML-2解析XML数据

    声明 本文例子源自在C++中使用TinyXML2解析xml一文,其余部分来源于网络搜集,难免疏漏,敬请随意吐槽. XML以及JSON 什么是XML 根据Wikipedia-XML的说法: 可扩展标记语 ...

  6. Java菜鸟补给站--HTML,XML,以及解析XML

    目录 HTML,XML的区别 解析XML DOM解析 SAX解析 选择DOM还是选择SAX? DOM4J解析 JDOM解析 HTML,XML的区别 1. XML是区分大小写字母的,HTML不区分. 2 ...

  7. java 解析3层xml_java xml 解析方式汇总#高级程序员必备技能#

    1.xml背景 格式良好的(web-fromed)xml可以不需要文档类型定义(DTD),只要满足基本的xml格式规范就可以认为是格式良好的xml文档.但是格式标准,只能说明元素.标签.格式是合法的, ...

  8. XML解析的几种方式

    xml的四种解析方式实例 一.DOM(Document Object Model)解析方式 在应用程序中,基于DOM的xml分析器将xml文档解析成一个对象模型的集合(通常称DOM树),应用程序正是通 ...

  9. iOS中XML解析汇总

    在时间上TBXML占优,libxml2支持了边下载边解析. 来源:http://www.codeios.com/forum.php?mod=viewthread&tid=9880&hi ...

最新文章

  1. 学习动力之“学习金字塔 (爱德加•戴尔)”理论
  2. t检验特征筛选详解及实战
  3. 川大优秀毕业生在GitHub上建了一个项目《深度学习500问》,还未完结就获赞无数
  4. Java数字反转(编程题)
  5. 打破重重阻碍,Flutter 和 Web 生态如何对接?
  6. 学习 protobuf(一)—— ubuntu 下 protobuf 2.6.1 的安装
  7. 代码生成工具之Winform查询列表界面生成
  8. 重新下载python以前下的包还用重新安装吗_强制“pip”在切换到其他Python二进制文件后重新编译以前安装的包(numpy)...
  9. 浏览器存储,储存,Cookie,WebStorage,IndexedDB
  10. 网易云音乐网站音乐下载
  11. solidworks二次开发 学习日记--1 开发方式
  12. android 开机启动无效,Android实现开机自启动无效问题
  13. Build过程(objc)
  14. SSD: Single Shot MultiBox Detector 模型fine-tune和网络架构
  15. VxWorks6.7新建bootrom工程
  16. Oracle 自定义数据类型Type
  17. how to search books in gitbook
  18. j3455linux网卡不亮,J3455 ProxmoxVE v6.0-4 直通物理网卡教程
  19. 在苹果Mac上如何关闭触控板防止误触?
  20. Lucene5搜索效果问题探究

热门文章

  1. 学校教务管理系统的设计与实现--Word文档可在最后链接处下载,无code
  2. 龙尚“大连接”战略 产品落地成关键
  3. Gitolite 教程
  4. Web中 / 斜杆的意义
  5. html动画隐藏一段时间内自动显示,《网页设计与制作》试卷A答案
  6. 【Word】如何设置多级列表
  7. find 命令常用用法
  8. Swagger、Yapi接口管理服务_SE
  9. matlab中的pred,Matlab深度学习基础笔记-2
  10. 湖北省计算机无纸化考试试题,湖北自考计算机无纸化考试试题.pdf