Simple XML解析XML

news/2025/2/11 4:22:48/

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.了解一下还是好的.


http://www.ppmy.cn/news/515891.html

相关文章

300多工程师死磕2年,vivo终于发布自研芯片V1,降低功耗50%全片上储存

萧箫 晓查 发自 凹非寺量子位 报道 | 公众号 QbitAI 又一家国产手机厂商&#xff0c;闯入芯片赛道。 令人有些意外的是&#xff0c;这次发布芯片的&#xff0c;是素来低调的vivo—— 甚至在2019年被曝造芯时&#xff0c;官方并未给出明确回复。 现在&#xff0c;蓝厂一出手&…

python中的多线程

python代码的执行是由python虚拟机进行控制的。尽管python解释器中可以运行多个线程&#xff0c;但是在任意给定时刻只有一个线程会被解释器执行。 对python虚拟机的访问是由全局解释器锁&#xff08;GIL&#xff09;控制的。这个锁就是用来保证同时只能有一个线程运行的。因此…

Golang | Web开发之Gin静态资源映射及HTML模板渲染

欢迎关注「全栈工程师修炼指南」公众号 点击 &#x1f447; 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习&#xff01; 专注 企业运维实践、网络安全、系统运维、应用开发、物联网实战、全栈文章 等知识分享 “ 花开堪折直须折&#xf…

【C++篇】C++的动态分配内存

友情链接&#xff1a;C/C系列系统学习目录 知识点内容正确性以C Primer&#xff08;中文版第五版&#xff09;、C Primer Plus&#xff08;中文版第六版&#xff09;为标准&#xff0c;同时参考其它各类书籍、优质文章等&#xff0c;总结归纳出个人认为较有逻辑的整体框架&…

2020-06-06

这次课&#xff0c;老师让做一个四边形&#xff0c;然后&#xff0c;最终我没有做出来&#xff0c;在哪个赋值那里出了问题&#xff0c;对前面的知识有所遗忘&#xff0c;然后上课也有点走神&#xff0c;敲代码的时候也有点粗心&#xff0c;然后上课老师讲的知识也没有在课下及…

赛尔号登录器显示服务器未开启,赛尔号登录界面改版啦!

赛尔号登录界面改版啦&#xff01;赛尔号登录界面在8月19日改版啦~变得更加高端大气上档次喽~下面就让我们来一起看看这次改版以后&#xff0c;各个功能要如何使用了~大家仔细看哦~下面就进入赛尔号登录界面改版使用说明啦&#xff01; 登录4399赛尔号后&#xff0c;点击开始游…

赛尔号12点服务器维护多久,赛尔号只有真正老玩家才知道的事?光螳螂半夜12点的传言知道吗?...

2009-2011比较有纪念意义的活动/任务&#xff1a;从赛尔号初始航行开始&#xff0c;新星球出来的那一刻&#xff0c;赛尔就正式踏上了走向宇宙的征途&#xff0c;除了赛尔号主线和精灵支线&#xff0c;更吸引人的是赛尔号的那些“突发任务”。突发任务能知道一些精灵和NPC的一些…

赛尔号维护服务器要多久,网友提问:现在还有多少玩家玩赛尔号,游戏的寿命还有多久?...

赛尔号从09年开始&#xff0c;巅峰时期是2010-2011&#xff0c;这个很多玩家都清楚。是停留在雷伊、哈莫雷特、谱尼、融合精灵等等这个年代&#xff0c;留得更久一点的估计就是四人战神联盟了。后来超进化的确回归了不少玩家&#xff0c;但那也是到缪斯之后人丁再次开始稀少。精…