Java解析XML文档dom4J入门案例

dom4J解析XML入门案例 1

² 为什么有dom4j 1

² 使用dom4J需要导入的包(记住导包,不然会出错) 2

² xpath的必要性 2

1) 原理图: 3

² 一个dom4j的简单案例 3

1) XML文档 3

2) Java的dom4j代码(记住两个包都要导入) 4

3) 注意 5

 

dom4J解析XML入门案例

 

² 为什么有dom4j

dom 缺点 : 比较耗费内存

sax缺点: 只能对xml进行读取,但是不能去 修改,添加,删除.

dom4j :既可以提高效率,同时也可以进行crud

特别说明: 因为dom4j不是sun公司的产品,所以我们开发dom4j需要引入jar包.

 

² 使用dom4J需要导入的包(记住导包,不然会出错)

使用简单的dom4j导入的包

使用dom4j高级功能(比如XPath)需要导入

 

² xpath的必要性

为了我们根据方便的访问的某个节点,我们可以使用xpath技术,当使用xpath后,就可以非常方便的读取到指定节点,xpath往往是结合dom4j一并使用.

说明:如果要使用xpath 则需要引入一个新的包: jaxen-1.1-beta-6.jar

 

1) 原理图:

 

 

² 一个dom4j的简单案例

1) XML文档

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

<students>

<student sid="002">

<name>小李</name>

<course>

<java>9</java>

<oracle>70</oracle>

<vb>8</vb>

</course>

</student>

<student sid="003">

<name>小韩</name>

<course>

<java>90</java>

<oracle>70</oracle>

<vb>85</vb>

</course>

</student>

<student sid="004">

<name>小明名</name>

<course>

<java>34</java>

<oracle>50</oracle>

<vb>58</vb>

</course>

</student>

<student sid="005">

<name>小红</name>

<course>

<java>29</java>

<oracle>39</oracle>

<vb>88</vb>

</course>

</student>

</students>

 

2) Java的dom4j代码(记住两个包都要导入)

package com.zx.dom4j;

 

import java.util.List;

 

import org.dom4j.Document;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

 

 

public class Test {

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

//创建dom4j的解析器

SAXReader saxReader = new SAXReader();

//解析文档

Document document = saxReader.read("src/student.xml");

//dom4j和Xpath一起使用.通常用这两个函数

//取出students元素下面的所有student

//List list = document.selectNodes("/students/student");     //返回的是一个list

//获取第一个学生的姓名

List list = document.selectNodes("/students/student/name");

System.out.println(((Element)list.get(0)).getText());

//取出XML文档中所以的student元素(//表示所有)

//List list = document.selectNodes("//student");    

 

//取出有id属性的那个属性节点

//List list = document.selectNodes("/@id");     

//还有很多,具体参照Xpath帮助文档,(实例1到实例7掌握)

//Element element = (Element) document.selectSingleNode("");   //返回的值只有一个

System.out.println(list.size());

}

}

 

 

 

3) 注意(重要)

1.使用dom4j都要导入包,基本的dom4j要导入dom4j的包,使用Xpath要导入第二个包

2.SAXReader这个类要导入包才可以用

3.dom4j使用的步骤为:

a. 建立SAXReader解析器

b. 用SAXReader 对象的read()方法解析XML文档

c. 然后使用dom4j和Xpath一起的话,会很简单,也很有效率的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值