当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

DOM4J

发表于: 2013-04-24   作者:chinrui   来源:转载   浏览次数:
摘要: DOM4J学习笔记 一、 下载dom4j的文件 二、 在集成开发环境上布置dom4j 加入F:\Program Files\dom4j-1.6.1\dom4j-1.6.1.jar 三、 建立测试文件dom4jTest.xml <?xml version="1.0" encoding="UTF-8"?> <hibernate-
DOM4J学习笔记
一、 下载dom4j的文件
二、 在集成开发环境上布置dom4j
加入F:\Program Files\dom4j-1.6.1\dom4j-1.6.1.jar
三、 建立测试文件dom4jTest.xml
<?xml version="1.0" encoding="UTF-8"?>
<hibernate-mapping>
	<class name="cn.edu.hpu" table="t_user">
		<property name="username"></property>
		<property name="password"></property>
	</class>
</hibernate-mapping>

四、 编写测试程序Dom4jTest.java(第一种获得节点与属性的方法)
package cn.edu.hpu;
import java.io.File;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.SAXReader;

public class Dom4jTest {
	public static void main(String[] args) {
		//建立SAXReader对象
		SAXReader reader = new SAXReader();
		Document document = null;
		try {
			//获得文档的Document的对象
			document = reader.read(new File("dom4jTest.xml"));
		} catch (DocumentException e) {
			e.printStackTrace();
		}
		//获得根标签
		Element rootElement = document.getRootElement();
		System.out.println(rootElement.getName());
		//OUTPUT_RESULT:hibernate-mapping
		
		/***********第一种获得节点和属性的方法,使用的比较少***********/
		for(Iterator it = rootElement.elementIterator(); it.hasNext();) {
			//获得根标签的子标签
			Element element = (Element)it.next();
			System.out.println(element.getName());
			//OUTPUT_RESULT:class
			for(Iterator it1 = element.attributeIterator(); it1.hasNext();) {
				Attribute attribute = (Attribute)it1.next();
				System.out.println(attribute.getName() + "-" + attribute.getValue());
				//OUTPUT_RESULT:name-cn.edu.hpu   table-t_user
			}
		}
		/***********第一种获得节点和属性的方法,使用的比较少***********/
	}
}

五、 第二种获得节点与属性的方法(XPATH)
此处需要加入第二个文件F:\Program Files\dom4j-1.6.1\lib\jaxen-1.1-beta-6.jar
添加测试程序段:
/***********第二种获得节点和属性的方法,使用的比较多***********/
//使用xpath进行获取节点,下面语句表示拿出此path下所有property节点
List<Node> nodes = document.selectNodes("//hibernate-mapping/class/property");
for(Node node : nodes) {
	System.out.println(node.getName());
	//OUTPUT_RESULT:property   property
	//此处表示取出node中名为name的属性值
	System.out.println(node.valueOf("@name"));
	//OUTPUT_RESULT:username   password
}
//获得单个节点
Node node = document.selectSingleNode("//hibernate-mapping/class/property");
System.out.println(node.getName());
//OUTPUT_RESULT:property

/***********第二种获得节点和属性的方法,使用的比较多***********/
六、 XML文件的生成
package cn.edu.hpu;
import java.io.FileWriter;
import org.dom4j.*;
import org.dom4j.io.*;

public class BuildXML {
	public static void main(String[] args) throws Exception {
		createXML();
	}
	public static Document createXML() throws Exception {
		//创建Document对象
		Document document = DocumentHelper.createDocument();
		//加入根节点
		Element root = document.addElement("hibernate-mapping");
		//加入其它的节点与属性
		Element classNode = root.addElement("class")
		                           .addAttribute("name", "cn.edu.hpu")
		                           .addAttribute("table", "t-user");
		classNode.addElement("property").addAttribute("name", "username");
		
		//文件的输出,此处输出的文件格式不好
		/*FileWriter fWriter = new FileWriter("create.XML");
		document.write(fWriter);
		fWriter.flush();
		fWriter.close();*/
		
		//使用XMLWriter对象进行输出,得到比较标准的格式
		//创建相应的输出格式
		OutputFormat format = OutputFormat.createPrettyPrint();
		//创建XMLWriter对象
		XMLWriter fWriter = new XMLWriter(new FileWriter("create.XML") , format);
		fWriter.write(document);
		fWriter.close();
		
		return document;
	}
}

DOM4J

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

推荐文章
1 DOM4J
2 Dom4j
3 DOM4J
4 DOM4J
5 dom4j
6 DOM4j
7 DOM4J
8 dom4j
9 dom4j
10 DOM4J
11 dom4j
12 dom4j
13 dom4j
14 dom4j
15 dom4j
16 dom4j
17 dom4j
18 dom4j
19 dom4j
20 dom4j
编辑推荐
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML AP
一、dom4j使用 1.到官网http://www.dom4j.org/下载最新的dom4j; 2.将dom4j加入到我们的项目中: 测
dom4j 是一种解析 XML 文档的开放源代码 XML 框架。本文介绍如何使用包含在 dom4j 中的解析器创建并
首先我们给出一段示例程序: import java.io.File; import java.io.FileWriter; import java.util.I
dom4j读写xml文件 首先我们给出一段示例程序: import java.io.File; import java.io.FileWriter; i
import java.io.File; import java.io.FileWriter; import java.util.Iterator; import org.dom4j.D
import java.io.File; import java.io.FileWriter; import java.util.Iterator; import org.dom4j.D
首先我们给出一段示例程序: import java.io.File; import java.io.FileWriter; import java.util.I
DOM4J是dom4j.org出品的一个开源XML解析包。Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它
首先我们给出一段示例程序: import java.io.File; import java.io.FileWriter; import java.util.I
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号