您的位置 首页 java

使用Java的DOM4j解析xml的详细总结

大数据 和人工智能交流》头条号向广大初学者新增C 、Java 、Python 、 Scala java script 等目前流行的计算机、大数据编程语言,希望大家以后关注本头条号更多的内容。

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它

对主流的Java XML API进行的性能、功能和易用性的评测,dom4j无论在那个方面都是非常出色的。如今你可以看到越来越多的Java软件都在使用dom4j来读写XML,例如hibernate,包括sun公司自己的JAXM也用了Dom4j。 使用Dom4j开发,需下载dom4j相应的jar文件:

1.官网下载:

2.dom4j是sourceforge.net上的一个开源项目,因此可以到下载其最新版

对于下载的zip文件进行解压后的效果如下:

使用Java的DOM4j解析xml的详细总结

在这里可以看到有docs帮助的文件夹,也有需要使用dom4j解析xml文件的dom4j-1.6.1.jar文件.我们只需要把dom4j-1.6.1.jar文件构建到我们开发的项目中就可以使用dom4j开发了。下面介绍些dom4j的使用过程

(一)DOM4j的使用

第一步:在myEclipse下建立个项目xml_test(Java项目和web项目均可,这里是web项目)

第二步:将dom4j-1.6.1.jar加入引用类库

第三步:在xml_test下面创建个xml;创建个com.test包,并且创建Dom4j.java文件。创建好的项目结构如下图所示:

使用Java的DOM4j解析xml的详细总结

其中demo.xml内容如下:

<employees>

<employee name=”lily” pwd=”123″>

<salary level=”1″>35000</salary>

<JobNumber department=”java”>EJ001</JobNumber>

< position isManager=”yes”>sen io r engineer </position>

</employee>

<leader name=”jerry” pwd=”666″>

<salary level=”1″>38000</salary>

<JobNumber department=”java”>EJ002</JobNumber>

<position isManager=”yes”>project manager</position>

</leader>

</employees>

Dom4j.java的代码如下:

package com.test;

import java.io. File ;

import java.util.Iterator;

import org.dom4j.*;

import org.dom4j.io.SAXReader;

public class Dom4j

{

public static void main(String[] args) throws Exception

{

SAXReader saxReader = new SAXReader();

//读demo.xml文档返回Document对象

Document reader = saxReader.read( new File(“demo.xml”));

//获取根节点

Element root=reader.getRootElement();

//根节点名称

System.out.println(root.getName());

//遍历根节点下子节点

for (Iterator i=root.elementIterator();i.hasNext();)

{

Element e=(Element)i.next();

System.out.println(e.getName());

//获取该节点的属性

for (Iterator j=e.attributeIterator();j.hasNext();)

{

Attribute a=(Attribute)j.next();

System.out.println(a.getName()+”:”+a.getValue());

//获取该节点的属性

}

}

}

}

(二)使用xpath读取节点

使用xpath读取节点的方法非常的简单,建议使用此方法。使用xpath时候需要加入lib下的jaxen-1.1-beta-6.jar

其程序如下所示:

package com.test;

import java.io.File;

import java.util.List;

import org.dom4j.*;

import org.dom4j.io.SAXReader;

public class Dom4j

{

public static void main(String[] args) throws Exception

{

SAXReader saxReader = new SAXReader();

//读demo.xml文档返回Document对象

Document document = saxReader.read( new File(“demo.xml”));

//使用xpath方式读节点

//读取employees节点下employee节点的salary节点

List<Node> list=document.selectNodes(“//employees/employee/salary”);

for (Node node:list)

{

//获取属性名称及其属性值

System.out.println(node.getName()+”:”+node.getStringValue());

}

}

}

(三)创建xml 文档

package com.test;

import java.io.FileWriter;

import org.dom4j.*;

import org.dom4j.io.OutputFormat;

import org.dom4j.io.XMLWriter;

public class Dom4j

{

public static void main(String[] args) throws Exception

{

//创建xml文档

Document document=DocumentHelper.createDocument();

Element root=document.addElement(“employees”);

Element employee=root.addElement(“employee”);

employee.addAttribute(“name”, “lily”)

.addAttribute(“pwd”, “123”);

employee.addElement(“salary”).addAttribute(“level”, “1”);

//输出xml文档,格式化美化文档

OutputFormat format=OutputFormat.createPrettyPrint();

XMLWriter writer= new XMLWriter(

new FileWriter(“demo1.xml”),format);

writer.write(document);

writer.close();

}

}

使用Java的DOM4j解析xml的详细总结

《大数据和人工智能交流》的宗旨

1、将大数据和人工智能的专业数学:概率数理统计、线性代数、决策论、优化论、博弈论等数学模型变得通俗易懂。

2、将大数据和人工智能的专业涉及到的数据结构和算法:分类、聚类 、回归算法、概率等算法变得通俗易懂。

3、最新的高科技动态:数据采集方面的智能传感器技术;医疗大数据智能决策分析;物联网智慧城市等等。

根据初学者需要会有C语言、Java语言、Python语言、Scala函数式等目前主流计算机语言。

根据读者的需要有和人工智能相关的计算机科学与技术、电子技术、芯片技术等基础学科通俗易懂的文章。

文章来源:智云一二三科技

文章标题:使用Java的DOM4j解析xml的详细总结

文章地址:https://www.zhihuclub.com/184779.shtml

关于作者: 智云科技

热门文章

网站地图