使用DOM4J解析XML文件

DOM4J解析xml

概念:以一切皆对象的原则将xml当成一个对象,在程序中对对象进行进行增删改查的操作即达到了对xml文件进行增删改查的操作。
先讲述在建立好xml文件的基础上,对xml文件进行的操作
创建xml文件,以eclipse为例,
在src下 new>>other>>输入xml>>创建xml文件
在这里插入图片描述
xml文件(Student.xml)
代码片.

<?xml version="1.0" encoding="UTF-8"?>
<students>
	<student id="1">
		<name>小花</name>
		<age>23</age>
		<sex></sex>
	</student>
	<student id="2">
		<name>小名</name>
		<age>24</age>
		<sex></sex>
	</student>
</students>

一:将xml文件转换为对象(如下转换成doc对象)

二:对doc对象进行增删改查的操作(这里演示查的操作)

代码片.

//先获取根文件,对根文件的操作至关重要,解析xml遵循一个
//原则一切从根文件开始操作
Element root=doc.getRootElement();
//dom4j包内提供了一个很好用的工具:元素迭代器
//用来迭代该根元素下的所有的标签值为"student"的子元素
Iterator it=root.elementIterator("student");
while(it.hasNext()) {
			//获取遍历器中的元素
			Element e=(Element)it.next();
			//输出元素里面属性的值
			System.out.println(e.attributeValue("id"));
			//这里原本不用遍历器,但为了增加理解,这里想得到e元素下的子元素的值
			//于是用遍历器的方式,得到所有name标签的子元素
			Iterator ot=e.elementIterator("name");
			while(ot.hasNext()) {
				//得到e元素的子元素
				Element e1=(Element)ot.next();
				//得到该属性的标签名
				e1.getName();
				e1.getText();
				//得到该元素值与e1.getStringValue效果一样
				e1.getStringValue();
				//得到该元素的父元素
				Element e2=e1.getParent();
				//得到该元素子元素中标签名为name的元素
				e2.elementText("name");

三:将处理好的doc对象放回到xml文件,这里的放回是将原有的xml文件覆盖。
代码片.

//为了使xml文件的格式更加友好,OutputFormat这个类是单独存在,使得格式友好实现了Cloneable接口
//即克隆接口,专门克隆文件并格式化文件的。
OutputFormat format=OutputFormat.createPrettyPrint();
//设置字符码
format.setEncoding("GBK");
File file=new File("src/student1.xml");
//与文件进行传输
FileWriter fw=new FileWriter(file);
//处理流,用来传递xml文件,并格式化
XMLWriter writer=new XMLWriter(fw, format);
writer.write(doc);
writer.close();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值