dom4j学习

Dom4j

1. 下载 dom4j

首先,打开 dom4j 的官网:dom4j官网
下载需要版本的 dom4j-xxx.jar 文件,并把这个文件复制到项目的 lib 目录中
一定要注意把这个 jar 文件添加到类路径下右键 -> Add as Liberay…,并在弹出的窗口中点击确定即可。

2. 使用

根据官网提供的操作方法来进行学习。首先我们了解如何通过 dom4j 来解析 xml 文件

2.1 解析 xml

首先需要编写一个 xml 文件,用于解析操作。

<?xml version="1.0" encoding="UTF-8" ?>
<persons>
<person id="1" name="张三" age="20"></person>
<person id="2" name="李四" age="18"></person>
</persons>

接下来编写程序来读取这个 xml 文件的内容——解析。

package com.jock168.dom4j;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 解析(读取)Person.xml文件
*/
public class Demo01 {
public static void main(String[] args) throws Exception {
		// 1. 创建 SAXReader 对象
		final SAXReader reader = new SAXReader();
		// 2. 调用这个对象的 read() 方法来读取需要解析的 xml 文件, 并返回 Document 对象
		final Document document = reader.read(Demo01.class
		.getClassLoader()
		.getResourceAsStream("Person.xml"));
		System.out.println(document);
		// 3. 通过 Document 对象得到根节点
		final Element root = document.getRootElement();
		System.out.println(root.getName());
		//4.添加子节点
		final Element e1=root.addElement("student");
		e1.addAttribute("name","孙悟空");
		e1.addAttribute("age","500");
		e1.addText("这是文本内容");
		root.addElement("student").addAttribute("name","小白龙").addAttribute("age","21").addText("小白龙的信息");
		//输出xml文件
		final FileWriter out=new FileWriter("stu.xml");
		document.write(out);
		out.close();
		//输出带有空格和换行的xml内容
		final FileWriter out=new FileWriter("stu-print.xml");
		final OutputFormat format=OutputFormat.createPrettyPrint();
		final XMLWriter writer=new XMLWriter(out,format);
		writer.write(document);
		writer.close();
		// 6.通过根节点获取所有子节点
		Element personElm=root.element("person");// "person"是节点名 
		String text=psersonELm.getText();     
		String text=root.elementText("name");//这个是取得根节点下的name字节点的文字. 
		//7.取得某节点下指定名称的所有节点并进行遍历   
		List nodes = rootElm.elements("pserson");      
		for (Iterator it = nodes.iterator(); it.hasNext();) {      
    	Element elm = (Element) it.next();      
   		// do something      
		}   
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值