[原创]Java基础巩固之dom4j解析xml文件_Tomcat, WebLogic及J2EE讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Tomcat, WebLogic及J2EE讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2120 | 回复: 0   主题: [原创]Java基础巩固之dom4j解析xml文件        下一篇 
heli.jia
注册用户
等级:少校
经验:874
发帖:21
精华:0
注册:1970-1-1
状态:离线
发送短消息息给heli.jia 加好友    发送短消息息给heli.jia 发消息
发表于: IP:您无权察看 2016-4-14 15:27:14 | [全部帖] [楼主帖] 楼主

对于一个初学者来说,使用Dom解析和SAX解析xml多少有点复杂和难度,而dom4J解析是目前xml解析里面最优秀的一种方式,所以我们就看一看dom4j解析的例子。

首先,使用dom4j解析xml必须要有dom4j的jar包:dom4j-1.6.1.jar

接下来我们写一个简单的xml文件,用于Java解析,文件代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<students name="Tom">

    <hello name="jack">hello Text1</hello>

    <hello name="jack2">hello Text2</hello>

    <hello name="jack3">hello Text3</hello>

    <world name="paul">world text1</world>

    <world name="paul2">world text2</world>

    <world >world text3</world>

</students>


新建一个Java类(dom4jTest2)解析如上xml文档。

Java代码如下:

import java.io.File;

import java.util.Iterator;

import java.util.List;


import org.dom4j.Document;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;


public class Dom4JTest2 {


public static void main(String[] args) throws Exception{

SAXReader saxreader=new SAXReader();

Document document=saxreader.read(new File("students.xml"));

//获取根元素

Element root=document.getRootElement();

System.out.println("根元素Root:"+root.getName());

//获取所有子元素

List<Element> childlist=root.elements();

System.out.println("子元素共计"+childlist.size()+" 个");

//根据名称获取子元素

List<Element> childnamelist=root.elements("hello");

System.out.println("hello子元素共有:"+childnamelist.size()+" 个");

//获取指定名称子元素的第一个子元素

Element firstchildElement=childnamelist.get(0);

Element secondchildElement=childnamelist.get(1);

//输出其属性

System.out.println("第一个子元素属性"+firstchildElement.attributeValue("name")+"  "+firstchildElement.getStringValue());

System.out.println("第二个子元素属性"+secondchildElement.attributeValue("name")+"  "+secondchildElement.getStringValue());

System.out.println("迭代输出---------------------");

for(Iterator<Element> it=root.elementIterator();it.hasNext();){

Element e=it.next();

System.out.println(e.attributeValue("name"));

}


}


}


运行结果:

控制台输出如下:

捕获.png


这样一个简单的dom4j的示例就完成了。

后来在网上找了一下关于Java解析XML的方法,发现这个博客里面写的很详细也很全面,博客地址如下:

http://blog.csdn.net/smcwwh/article/details/7183869


http://www.jb51.net/article/42323.htm

可供大家参考。




赞(1)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论