java利用dom4j解析xml 需要的jar包:
dom4j官方网站在 http://www.dom4j.org/
下载dom4j-1.6.1.zip
解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要加入包jaxen-1.1-beta-7.jar
将相关jar包引入后,实际解析操作如下:
1.要解析的xml文件data.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ReturnInfo>
<userlist>
<item index="1" level="60" nickname="凄惨的老生" country="金"
weiwang="136929" />
<item index="2" level="85" nickname="哭泣的至尊宝" country="金"
weiwang="97490" />
<item index="3" level="85" nickname="老公" country="金"
weiwang="91103" />
<item index="4" level="78" nickname="冉闵" country="金"
weiwang="82828" />
<item index="5" level="55" nickname="erggh" country="金"
weiwang="77440" />
<item index="6" level="60" nickname="孤峰" country="金"
weiwang="67821" />
<item index="7" level="60" nickname="乱世" country="金"
weiwang="67675" />
<item index="8" level="62" nickname="叛逆之神" country="金"
weiwang="61839" />
<item index="9" level="60" nickname="双乔主人" country="金"
weiwang="61647" />
<item index="10" level="60" nickname="视觉效果" country="金"
weiwang="50200" />
<item index="11" level="60" nickname="鬼鬼" country="金"
weiwang="49537" />
<item index="12" level="59" nickname="狂龙在天" country="金"
weiwang="46687" />
<item index="13" level="60" nickname="小子" country="金"
weiwang="46152" />
<item index="14" level="52" nickname="zzy" country="金"
weiwang="39017" />
<item index="15" level="53" nickname="ycf" country="金"
weiwang="30333" />
<item index="16" level="52" nickname="无界之魂" country="金"
weiwang="20294" />
<item index="17" level="42" nickname="刀锋狼" country="金"
weiwang="18842" />
<item index="18" level="60" nickname="mnbvc" country="金"
weiwang="18102" />
<item index="19" level="41" nickname="赢政" country="金"
weiwang="16331" />
<item index="20" level="52" nickname="徐匡胤" country="金"
weiwang="16156" />
</userlist>
</ReturnInfo>
把此xml文件放在相应的目录下:此实例放在了D盘下
具体解析程序如下:
import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class TestJava {
public static void main(String args[]) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("D:/data.xml"));
Element rootElm = document.getRootElement();
Element root1Elm = rootElm.element("userlist");
List nodes = root1Elm.elements("item");
for (Iterator it = nodes.iterator(); it.hasNext();) {
Element elm = (Element) it.next();
System.out.println("index:"+elm.attributeValue("index")+" level:"+elm.attributeValue("level")+" nickname:"+elm.attributeValue("nickname")+" country:"+elm.attributeValue("country")+" weiwang:"+elm.attributeValue("weiwang"));
}
try{
Document doc = reader.read(new File("D:/data.xml"));
List projects=doc.selectNodes("ReturnInfo/userlist/item");
Iterator it=projects.iterator();
while(it.hasNext()){
Element elm=(Element)it.next();
System.out.println("index:"+elm.attributeValue("index")+" level:"+elm.attributeValue("level")+" nickname:"+elm.attributeValue("nickname")+" country:"+elm.attributeValue("country")+" weiwang:"+elm.attributeValue("weiwang"));
}
} catch(Exception ex){
ex.printStackTrace();
}
}
}
其中红色字体部分是使用XPath快速找到节点item的方式进行解析的,第一种是利用元素找节点的方法解析的;
解析之后的输入结果为:
index:1 level:60 nickname:凄惨的老生 country:金 weiwang:136929
index:2 level:85 nickname:哭泣的至尊宝 country:金 weiwang:97490
index:3 level:85 nickname:老公 country:金 weiwang:91103
index:4 level:78 nickname:冉闵 country:金 weiwang:82828
index:5 level:55 nickname:erggh country:金 weiwang:77440
index:6 level:60 nickname:孤峰 country:金 weiwang:67821
index:7 level:60 nickname:乱世 country:金 weiwang:67675
index:8 level:62 nickname:叛逆之神 country:金 weiwang:61839
index:9 level:60 nickname:双乔主人 country:金 weiwang:61647
index:10 level:60 nickname:视觉效果 country:金 weiwang:50200
index:11 level:60 nickname:鬼鬼 country:金 weiwang:49537
index:12 level:59 nickname:狂龙在天 country:金 weiwang:46687
index:13 level:60 nickname:小子 country:金 weiwang:46152
index:14 level:52 nickname:zzy country:金 weiwang:39017
index:15 level:53 nickname:ycf country:金 weiwang:30333
index:16 level:52 nickname:无界之魂 country:金 weiwang:20294
index:17 level:42 nickname:刀锋狼 country:金 weiwang:18842
index:18 level:60 nickname:mnbvc country:金 weiwang:18102
index:19 level:41 nickname:赢政 country:金 weiwang:16331
index:20 level:52 nickname:徐匡胤 country:金 weiwang:16156
index:1 level:60 nickname:凄惨的老生 country:金 weiwang:136929
index:2 level:85 nickname:哭泣的至尊宝 country:金 weiwang:97490
index:3 level:85 nickname:老公 country:金 weiwang:91103
index:4 level:78 nickname:冉闵 country:金 weiwang:82828
index:5 level:55 nickname:erggh country:金 weiwang:77440
index:6 level:60 nickname:孤峰 country:金 weiwang:67821
index:7 level:60 nickname:乱世 country:金 weiwang:67675
index:8 level:62 nickname:叛逆之神 country:金 weiwang:61839
index:9 level:60 nickname:双乔主人 country:金 weiwang:61647
index:10 level:60 nickname:视觉效果 country:金 weiwang:50200
index:11 level:60 nickname:鬼鬼 country:金 weiwang:49537
index:12 level:59 nickname:狂龙在天 country:金 weiwang:46687
index:13 level:60 nickname:小子 country:金 weiwang:46152
index:14 level:52 nickname:zzy country:金 weiwang:39017
index:15 level:53 nickname:ycf country:金 weiwang:30333
index:16 level:52 nickname:无界之魂 country:金 weiwang:20294
index:17 level:42 nickname:刀锋狼 country:金 weiwang:18842
index:18 level:60 nickname:mnbvc country:金 weiwang:18102
index:19 level:41 nickname:赢政 country:金 weiwang:16331
index:20 level:52 nickname:徐匡胤 country:金 weiwang:16156
分享到:
相关推荐
dom4j解析xml实例,dom4j解析xml实例,dom4j解析xml实例,
DOM、JDOM、DOM4J解析XML实例
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML
java dom 解析 xml 实例 介绍w3c中的元素的用法,以及在解析xml过程中用到的API进行详细解释
dom4j+xpath 解析和创建 xml 文件的简单实例
java解析xml实例 java解析xml实例 java解析xml实例
java dom4j方式解析xml文件实例,日常开发比较常用,这种方式有一定缺陷。
SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析...当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml文件的实例
java四种xml解析实例和jar包,包括dom,sax,dom4j,jdom等方式 java四种xml解析实例和jar包,包括dom,sax,dom4j,jdom等方式 是学习Java的xml解析的好例子,包括相应的dom4j.jar,jdom.jar等,自己整理的,物超所值啊,...
主要介绍了java dom4j解析xml文件的方法,分享给大家参考
Java解析XML的四种方法 1. DOM生成和解析XML文档 2. SAX生成和解析XML文档 3. DOM4J生成和解析XML文档 4. JDOM生成和解析XML
Java解析XML汇总DOM_SAX_JDOM_DOM4j_XPath 实例
包括 DOM SAX JDOM DOM4J 对XML的解析实例
利用Dom4j、JDom、SAX、Dom四种方法解析XML的资料、电子书以及相关的实例代码;由于在各类Java开发中经常用到,所以总结一下,希望有所帮助。
xml.dom解析实例(java) 对于 xml和dom进行解析用java编写的
java四种xml解析实例和jar包,包括dom4j,jdom....等方式
解析器的介绍 文档对象模型(DOM)解析实例 SAX解析实例 DOM4J解析实例 JDOM解析实例 JAVA操纵XML 实例讲解
主要介绍了java使用dom4j生成与解析xml文档的方法,结合实例形式分析了java基于dom4j操作xml节点生成xml文档以及解析xml文档的相关操作技巧,需要的朋友可以参考下
sax,dom,jdom,dom4j Java中常用的四种解析方式的详细演示实例,提供源代码,绝对可以运行,千万不要错过哦
domXML解析技术之dom、Sax、dom4j技术演习以及Schema XML文档约束##XML解析开发包Jaxp(sun)Jdomdom4j####ExamExam是一个使用Xml持久化保存数据的xml数据库,该项目是演练dom解析XML技术很好的一个实例;dom(文档对象...