DOM4J介绍

  dom4j是一个简单的开源库,用于处理XML、 XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP,使用需要引用dom4j.jar包

XML生成及解析

  代码如下:

  

 package com.test.dom4j;

 import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator; import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter; public class TestDom4j { public static void main(String[] args) {
createXml();
parserXml();
} // Dom4j创建Xml文档
public static void createXml() {
// 创建一个文档对象
Document document = DocumentHelper.createDocument();
// 在根节点添加元素
Element conpany = document.addElement("conpany");
// 在conpany下添加子节点
Element department = conpany.addElement("department");
// 在department下添加子节点
Element employee = department.addElement("employee");
// 给employee节点添加内容
employee.setText("123");
// 给employee节点添加内容
employee.addAttribute("name", "employee1");
try {
Writer fileWriter = new FileWriter("src/test-dom4j-create.xml"); //输出格式
OutputFormat xmlFormat = new OutputFormat();
//设置编码
xmlFormat.setEncoding("UTF-8");
// 设置换行
xmlFormat.setNewlines(true);
//自动缩进
xmlFormat.setIndent(true);
// 使用4个空格进行缩进, 可以兼容文本编辑器
xmlFormat.setIndent("    "); //輸出
XMLWriter xmlWriter = new XMLWriter(fileWriter,xmlFormat);
xmlWriter.write(document);
xmlWriter.close();
} catch (IOException e) {
System.out.println(e.getMessage());
} } // Dom4j解释Xml文档
public static void parserXml() {
//文件
File inputXml = new File("src/test-dom4j-create.xml");
//解析器
SAXReader saxReader = new SAXReader();
try {
//得到文档
Document document = saxReader.read(inputXml);
//根目录
Element conpany = document.getRootElement();
for (Iterator i = conpany.elementIterator(); i.hasNext();) {
Element department = (Element) i.next();
for (Iterator j = department.elementIterator(); j.hasNext();) { // 遍例节点
Element employee = (Element) j.next();
//获取元素的文本以及属性
System.out.println(employee.getName() + "\t" + employee.getText() + "\t" + employee.attributeValue("name"));
} }
} catch (DocumentException e) {
System.out.println(e.getMessage());
}
}
}

生成的文本:

  

控制台输出:

  

【Java】XML解析之DOM4J的更多相关文章

  1. Java XML解析工具 dom4j介绍及使用实例

    Java XML解析工具 dom4j介绍及使用实例 dom4j介绍 dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory ...

  2. Java -- XML解析工具dom4j

    前言 XML现已成为一种通用的数据交流方式,它的平台无关性.语言无关性.系统无关性.给数据集成与交互带来了极大的方便,对于XML的解析有四种方式:DOM生成和解析XML文档,SAX生成和解析XML文件 ...

  3. Java XML解析器

    使用Apache Xerces解析XML文档 一.技术概述 在用Java解析XML时候,一般都使用现成XML解析器来完成,自己编码解析是一件很棘手的问题,对程序员要求很高,一般也没有专业厂商或者开源组 ...

  4. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  5. java xml解析方式(DOM、SAX、JDOM、DOM4J)

    XML值可扩展标记语言,是用来传输和存储数据的. XMl的特定: XMl文档必须包含根元素.该元素是所有其他元素的父元素.XML文档中的元素形成了一颗文档树,树中的每个元素都可存在子元素. 所有XML ...

  6. Java数据库编程及Java XML解析技术

    1.JDBC概述 A.  什么是JDBC? Java DataBase Connectivity:是一种用于执行SQL语句的Java API,它由一组用Java语言编写的类和接口组成.通过这些类和接口 ...

  7. xml解析 使用dom4j操作xml

     使用dom4j操作xml 1 导入 dom4j,的jar包   2 指定要解析的XML文件 SAXReader sr=new SAXReader(); Document document= sr.r ...

  8. XML解析之dom4j

    一.XML解析方式有两类:        一]DOM(文档对象模型)            1)一次性将整个XML文件读到内存,形成一颗DOM树        二]SAX(XML的简单API)[sim ...

  9. java XML解析

    package com.kpsh.myself; import java.io.File;import java.io.FileInputStream;import java.util.List; i ...

随机推荐

  1. List与字符串转换

    1.将list元素用单引号引起来:List<TransferFocusxfSummaryTop3> topList = getTransferFocusxfSummaryTop3(user ...

  2. Web Services 中XML、SOAP和WSDL的一些必要知识

    Web Services 是由xml来定义数据格式的,通过SOAP协议在各个系统平台中传输,那么接下来讨论下SOAP和WSDL的各自作用. SOAP和WSDL对Web Service.WCF进行深入了 ...

  3. css学习笔记(4)

    让顶部导航固定于页面的最顶端,无论页面上下滚动,顶部导航始终处在最顶端. *{ margin:0; padding:0}body{ padding-top:60px; }#nav{ width:100 ...

  4. ubuntu Server 14 自动更新

    https://help.ubuntu.com/stable/serverguide/automatic-updates.html http://spin.atomicobject.com/2014/ ...

  5. CentOS6.4 安装 erlang

    wget http://www.erlang.org/download/otp_src_17.0.tar.gz -P /usr/local/src/ wget http://www.erlang.or ...

  6. loadrunner负载测试实例

    回想起第一次做性能测试,感慨万千,故写下本文,从:设置虚拟用户,设置场景以及分析运行结果三个方面进行阐述 硬件环境:硬盘 1TG,cpu 3.40GHz,内存4G 软件环境:IE9.0,Weblogi ...

  7. 页面打开 抛出w3wp.exe 中发生未处理异常

    页面打开 抛出w3wp.exe 中发生未处理异常

  8. 前端开发框架Bootstrap和KnockoutJS

    江湖中那场异常惨烈的厮杀,如今都快被人遗忘了.当年,所有的武林同道为了同一个敌人都拼尽了全力,为数不多的幸存者心灰意冷,隐姓埋名,远赴他乡,他们将唯一的希望寄托给时间.少年子弟江湖老,红颜少女的鬓边也 ...

  9. jQuery triger与trigerHandler的区别

    trigger(event, [data]) 与 triggerHandler(event, [data]) 都是用于触发一个事件. 其两者的区别在于,如果触发的事件是有浏览器默认行为的,trigge ...

  10. 1-11 ICMP协议

    ICMP协议 IP不提供可靠的传输服务,也不提供端到端或点到点的确认,如果出错可以通过ICMP报告来看,它在IP模块中实现.TCP/IP协议设计了ICMP就是为了弥补IP协议的不足. 它是TCP/IP ...