java通过dom4j处理xml文档

最近在用dom4j处理xml的数据接口,将java利用dom4j处理xml的过程记录下来。

导入jar包:dom4j-1.6.jar

下载地址:http://www.java2s.com/Code/JarDownload/dom4j/dom4j-1.6.jar.zip

自己写了个xml文档

 1 <school>
 2     <student>
 3         <name>老子</name>
 4         <no>20140804</no>
 5         <majors>
 6             <major>体育</major>
 7             <major>美术</major>
 8             <major>舞蹈</major>
 9         </majors>
10     </student>
11    <student>
12         <name>孙子</name>
13         <no>20140805</no>
14         <majors>
15             <major>数学</major>
16             <major>物理</major>
17             <major>英语</major>
18         </majors>
19     </student>
20 </school>

下面是java读取文件的代码

 1 package tools;
 2
 3 import java.util.Iterator;
 4 import org.dom4j.Document;
 5 import org.dom4j.DocumentException;
 6 import org.dom4j.Element;
 7 import org.dom4j.io.SAXReader;
 8
 9 public class XMLHandler {
10
11     public static void main(String[] args) {
12         String path = "resource/hello.xml";//可以是本地路径,也可以是网络路径
13         SAXReader reader = new SAXReader();
14         Document doc = null;
15         try {
16             doc = reader.read(path); //获取整个文档
17         } catch (DocumentException e) {
18             e.printStackTrace();
19             return;
20         }
21         Element root = doc.getRootElement();//获取到文档的根节点即<school></school>
22         Iterator<Element> stus = root.elementIterator("student");//获取<sutdent></student>迭代
23         //Iterator<Element> stus = root.elementIterator();  因为school下只有student,这种方法也行
24         Element student;
25         while(stus.hasNext()) {
26             student = stus.next();
27             System.out.println("姓名:"+student.elementTextTrim("name"));//获取name子结点的值
28             System.out.println("学号:"+student.elementTextTrim("no"));//获取no子结点的值
29
30             Element majors = student.element("majors");
31             Iterator<Element> major_it = majors.elementIterator("major");
32             String major_str = "";
33             Element major;
34             while(major_it.hasNext()) {
35                 major = major_it.next();
36                 major_str += major.getTextTrim() + " ";//获取自身结点的值
37             }
38             System.out.println("专业:"+major_str);
39         }
40
41     }
42 }

显示结果

1 姓名:老子
2 学号:20140804
3 专业:体育 美术 舞蹈
4 姓名:孙子
5 学号:20140805
6 专业:数学 物理 英语 

java通过dom4j处理xml文档,布布扣,bubuko.com

时间: 2024-12-29 01:58:38

java通过dom4j处理xml文档的相关文章

Java 使用 dom4j 读取 xml文档 demo

1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns="http://www.example.org/web-app_2_5" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.example.org/web-a

使用dom4j解析XML文档

dom4j的包开源包,不属于JDK里面,在myeclipse中要单独导入在项目中,这里不累赘了 做这个过程,很慢,因为很多方法没用过不熟悉,自己得去查帮助文档,而且还得去试,因为没有中文版,英文翻译不准确,也会导致多个同名的方法理解和用法不同 XML: <?xml version="1.0" encoding="utf-8"?> <students> <student age="25"> <name>

javaweb dom4j解析xml文档

1.什么是dom4j dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的软件,可以在SourceForge上找到它.在IBM developerWorks上面还可以找到一篇文章,对主流的Java XML API进行的性能.功能和易用性的评测,所以可以知道dom4j无论在哪个方面都是非常出色的.如今可以看到越

【学习笔记】关于DOM4J:使用DOM4J解析XML文档

一.概述 DOM4J是一个易用的.开源的库,用于XML.XPath和XSLT中.采用了Java集合框架并完全支持DOM.SAX.和JAXP. DOM4J最大的特色是使用大量的接口,主要接口都在org.dom4j这个包里定义: 二.DOM4J的接口 Attribute:定义了XML的属性: Branch:是能够包含子节点的节点,如XML元素(Element)和文档(Documents)定义了一个公共的行为: CDATA:定义了XML的CDATA区域: CharacterData:是一个标识接口,标

dom4j 解析 XML文档截录

dom4j 是一种解析 XML 文档的开放源代码 XML 框架.本文介绍如何使用包含在 dom4j 中的解析器创建并修改 XML 文档. dom4j API 包含一个解析 XML 文档的工具.本文中将使用这个解析器创建一个示例 XML 文档.清单 1 显示了这个示例 XML 文档,catalog.xml. 清单 1. 示例 XML 文档(catalog.xml) <?xml version="1.0" encoding="UTF-8"?> <cat

Dom4j读取xml文档

package gz.itcast.a_dom4j_read; import java.io.File; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; /** * 第一个Dom4j读取xml文档的例子 * @author APPle * */ public class Demo1 { public static void main(String[] arg

源生API解析XML文档与dom4j解析XML文档

一.XML语言 XML是一种可扩展的标记语言,是一种强类型的语言,类似HTML(超文本标记语言,是一种弱类型的语言).XML是一种通用的数据交换格式(关系型数据库),综上所诉:XML可以传输数据,也可以存储数据. 1.XML语言书写的注意事项 1.XML标签命名自定义[推荐英文],标签名中不能包含空格 2.XML空格和换行都表示数据,严格区分大小写 3.XML中特殊字符表示的数据需要使用特殊字符编码和HTML一样 4.CDATA区中的数据不会被识别为语法 <![CDATA[王天霸<>&l

dom4j与XML文档操作

dom4简介 1.  DOM4J是 dom4j.org 出品的一个开源 XML 解析包.DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和 JAXP.  DOM4J 最大的特色是使用大量的接口.它的主要接口都在org.dom4j里面定义 Attribute 定义了 XML 的属性. Branch 指能够包含子节点的节点.如XML元素(Element)和文档(Docuemnts)定义了一个公共的行为 CDATA 定义了 XML CDATA 区域 Charac

用dom4j对xml文档解析

package com.huowolf.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Doc