使用Dmo4j解析xml总结
来源:互联网 发布:网络攻防技术教程 编辑:程序博客网 时间:2024/05/11 12:04
dom4j是用的比较多的解析xml的插件,使用起来也是比较简单灵活的。dom4j需要的jar包,仅仅需要dom4j.jar。本例中用的1.6.1的版本,下载地址:http://download.csdn.net/detail/qq_33556185/9601807
已知xml结构如下:
<?xml version="1.0" encoding="UTF-8"?><Level><level1 id="level1"><grade>1</grade><expnumber>10</expnumber><expname>V1</expname></level1><level2 id="level2"><grade>2</grade><expnumber>20</expnumber><expname>V2</expname></level2><level3 id="level3"><grade>3</grade><expnumber>30</expnumber><expname>V3</expname></level3><level4 id="level4"><grade>4</grade><expnumber>40</expnumber><expname>V4</expname></level4><level5 id="level5"><grade>5</grade><expnumber>50</expnumber><expname>V5</expname></level5><level6 id="level6"><grade>6</grade><expnumber>60</expnumber><expname>V6</expname></level6><level7 id="level7"><grade>7</grade><expnumber>70</expnumber><expname>V7</expname></level7><level8 id="level8"><grade>8</grade><expnumber>80</expnumber><expname>V8</expname></level8><level9 id="level9"><grade>9</grade><expnumber>90</expnumber><expname>V9</expname></level9><level10 id="level10"><grade>10</grade><expnumber>100</expnumber><expname>V10</expname></level10><level11 id="level11"><grade>11</grade><expnumber>120</expnumber><expname>V11</expname></level11><level12 id="level12"><grade>12</grade><expnumber>140</expnumber><expname>V12</expname></level12><level13 id="level13"><grade>13</grade><expnumber>160</expnumber><expname>V13</expname></level13><level14 id="level14"><grade>14</grade><expnumber>180</expnumber><expname>V14</expname></level14><level15 id="level15"><grade>15</grade><expnumber>200</expnumber><expname>V15</expname></level15><level16 id="level16"><grade>16</grade><expnumber>220</expnumber><expname>V16</expname></level16><level17 id="level17"><grade>17</grade><expnumber>240</expnumber><expname>V17</expname></level17><level18 id="level18"><grade>18</grade><expnumber>260</expnumber><expname>V18</expname></level18><level19 id="level19"><grade>19</grade><expnumber>300</expnumber><expname>V19</expname></level19><level20 id="level20"><grade>20</grade><expnumber>340</expnumber><expname>V20</expname></level20><level21 id="level21"><grade>21</grade><expnumber>380</expnumber><expname>V21</expname></level21><level22 id="level22"><grade>22</grade><expnumber>420</expnumber><expname>V22</expname></level22><level23 id="level23"><grade>23</grade><expnumber>460</expnumber><expname>V23</expname></level23><level24 id="level24"><grade>24</grade><expnumber>500</expnumber><expname>V24</expname></level24><level25 id="level25"><grade>25</grade><expnumber>600</expnumber><expname>V25</expname></level25><level26 id="level26"><grade>26</grade><expnumber>700</expnumber><expname>V26</expname></level26><level27 id="level27"><grade>27</grade><expnumber>800</expnumber><expname>V27</expname></level27><level28 id="level28"><grade>28</grade><expnumber>900</expnumber><expname>V28</expname></level28><level29 id="level29"><grade>29</grade><expnumber>1400</expnumber><expname>V29</expname></level29><level30 id="level30"><grade>30</grade><expnumber>1900</expnumber><expname>V30</expname></level30><level31 id="level31"><grade>31</grade><expnumber>3000</expnumber><expname>V31</expname></level31><level32 id="level32"><grade>32</grade><expnumber>5000</expnumber><expname>V32</expname></level32><level33 id="level33"><grade>33</grade><expnumber>10000</expnumber><expname>V33</expname></level33></Level>解析代码如下:
package com.mvc;import java.io.File; import java.util.ArrayList;import java.util.List; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.junit.Test; import com.core.BaseJunitTest;import com.mvc.vo.LevelVo;public class Dom4jTest extends BaseJunitTest{ private List<LevelVo> levelList=new ArrayList<LevelVo>(); @Test public void test() throws Exception { // 创建saxReader对象 SAXReader reader = new SAXReader(); // 通过read方法读取一个文件 转换成Document对象 Document document = reader.read(new File("resource/level.xml")); //获取根节点元素对象 Element root = document.getRootElement(); List<Element> childElements = root.elements(); System.out.println("childElements的节点数是============="+childElements.size()); List<LevelVo> levelList=new ArrayList<LevelVo>(); //已知属性名情况下 for (Element child : childElements) { System.out.println("id: " + child.attributeValue("id")); List<Element> grandSonElements = child.elements(); LevelVo levelVo=new LevelVo(); for (Element grandSon : grandSonElements) { if(grandSon.getQualifiedName().equals("grade")){ levelVo.setGrade(grandSon.getData().toString()); } if(grandSon.getQualifiedName().equals("expnumber")){ levelVo.setExpnumber(Long.parseLong(grandSon.getData().toString())); } if(grandSon.getQualifiedName().equals("expname")){ levelVo.setExpname(grandSon.getData().toString()); }} levelList.add(levelVo); } } public List<LevelVo> getLevelList() {return levelList; } public void setLevelList(List<LevelVo> levelList) {this.levelList = levelList; } }
1 0
- 使用Dmo4j解析xml总结
- Cmarkup 使用总结 xml解析
- Dom4J解析XML总结
- Kxml解析xml总结
- xml解析总结
- XML解析总结
- CCDictionary 解析xml总结
- 解析XML文件总结
- XML解析总结
- xml解析相关总结
- CCDictionary 解析xml总结
- XML解析总结篇
- xml解析方法总结
- XML解析总结
- lua解析xml总结
- Dom4j解析xml总结
- XML 文件解析总结
- 解析XML文件总结
- APNS推送消息
- ioctl用法详解
- EasyUI表单验证(扩展)
- ios中将事件添加到系统日历
- Android Studio apk 打包流程
- 使用Dmo4j解析xml总结
- 中国联通517活动-沃福卡-技术分解实现方案
- JAVA学习笔记(一)
- 设备控制接口(ioctl 函数)
- 图片上传
- 利用插件,完成移动端三级联动
- 基于SurfaceView封装相机,并添加自定义水印效果
- Atitit.基于时间戳的农历日历历法日期计算
- 二叉树、树和森林(java版)