1.JavaWeb基础 最出色的解析工具:DOM4J






   DOM4J是一组XML操作的组件包,主要用来读写XML文件。由于DOM4J性能优异、功能强

大,而且具有易用性,所以现在已经被广泛地应用开来了。例如:Hibernate和Spring框架

中都使用了DOM4J进行XML的解析操作。



DOM4J的主要接口
接口描述
Attribute定义了XML的属性
Branch
为能够包含子节点的节点,如XML元素(Element)和文档(Document)
定义了一个公共的行为
CDATA定义了 XML CDATA区域
CharacterData是一个标识接口,标识基于字符的节点,如CDATA、Comment、Text
Comment定义了XML的注释
Document定义了XML文档
Element定义了XML元素
Text定义了XML文本节点





一.DOM4J生成XML文件


package com.zyy.jwb;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

/**
 * DOM4J生成XML
 * 
 * @author CaMnter
 * 
 */

public class DOM4JWriter {

	public static void main(String[] args) {

		// 创建文档
		Document doc = DocumentHelper.createDocument();

		// 定义节点
		Element parent = doc.addElement("parent");

		// 定义子节点
		Element children = parent.addElement("children");

		Element name = children.addElement("name");

		Element email = children.addElement("email");

		// 设置子节点内容
		name.setText("CaMnter");

		email.setText("www.CaMnter.com");

		// 设置输出格式
		OutputFormat outputFormat = OutputFormat.createPrettyPrint();

		// 指定输出编码
		outputFormat.setEncoding("GBK");

		// 取得当前操作目录
		String curDir = System.getProperty("user.dir");

		// 输出
		try {

			XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File(
					curDir + File.separator + "outputXML.xml")), outputFormat);

			xmlWriter.write(doc);

			xmlWriter.close();

		} catch (UnsupportedEncodingException e) {

			e.printStackTrace();

		} catch (FileNotFoundException e) {

			e.printStackTrace();

		} catch (IOException e) {

			e.printStackTrace();
		}

	}

}








二.DOM4J读取XML文件




package com.zyy.jwb;

import java.io.File;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * DOM4J读取XML
 * 
 * @author CaMnter
 * 
 */

public class DOM4JReader {

	public static void main(String[] args) {

		// 取得当前操作目录
		String curDir = System.getProperty("user.dir");

		File file = new File(curDir + File.separator + "outputXML.xml");

		SAXReader reader = new SAXReader();

		Document doc = null;

		// 读取
		try {
			doc = reader.read(file);
		} catch (DocumentException e) {

			e.printStackTrace();
		}

		// 取得根节点
		Element root = doc.getRootElement();

		Iterator iter = root.elementIterator();

		while (iter.hasNext()) {

			Element children = (Element) iter.next();

			System.out.println(children.elementText("name"));

			System.out.println(children.elementText("email"));

		}

	}

}














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值