使用dom4j须要导入jar包

jar包下载地址:http://pan.baidu.com/s/1o65jWRw

将dom4j-1.6.1.jar包导入Eclipse

book2.xml

<?xml version="1.0" encoding="UTF-8"?

>

<书架>
<书>
<书名>JAVA</书名>
<作者>XXXXXX</作者>
<售价>23333</售价>
</书>
<书>
<书名>ANDROID</书名>
<作者>XXXXXX</作者>
<售价>23333</售价>
</书>
</书架>

解析book2.xml这个文件。

方法:

获取文档的根结点:

Element root = document.getRootElement();

获取某个结点的子节点

Element element = root.element();

获取某个结点下的全部子节点:

List elements = root.elements();

遍历该结点下的全部子节点

以递归的方式进行

public class dom4j {

	public static void main(String[] args) throws Exception {
// method_1();
method_2();
} private static void method_2() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read("book2.xml");
Element root = document.getRootElement();
parse(root);
} private static void parse(Element ele) {
// 处理当前元素包括的全部属性
parseAttribute(ele);
// 获取当前元素包括的全部
List el = ele.elements();
for (Object e : el) {
Element element = (Element) e;
// 假设该元素的内容不是仅仅包括字符串
if (!element.isTextOnly()) {
parse(element);
} else {
// 处理当前 元素的所有属性
parseAttribute(element);
// 获取当前元素的内容
System.out.println(element.getQName().getName() + "-->"
+ element.getText());
}
}
} /**
* 处理元素属性
*
* @param ele
*/
private static void parseAttribute(Element ele) {
List attributes = ele.attributes();
for (Object e : attributes) {
Attribute attribute = (Attribute) e;
System.out.println(ele.getQName().getName() + "元素的"
+ attribute.getQName().getName() + "属性为"
+ attribute.getValue());
}
} private static void method_1() throws Exception {
// 获取解析器
SAXReader reader = new SAXReader();
// 解析xml获代替表整个文档的dom对象
Document document = reader.read("book2.xml");
// 获取根结点
Element rootElement = document.getRootElement();
// 获取书名
String bookName = rootElement.element("书").element("书名").getText();
System.out.println("bookName--: " + bookName);
} }

XML(四)dom4j解析XML的更多相关文章

  1. java基础 xml 使用dom4j解析 xml文件 servlet根据pattern 找到class

    package com.swift.kaoshi; import java.io.File; import java.util.List; import java.util.Scanner; impo ...

  2. 【java项目实战】dom4j解析xml文件,连接Oracle数据库

    简单介绍 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方.我们还是看一下官方给出的解释.例如以下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT ...

  3. 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】

    一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...

  4. dom4j解析xml文档全面介绍

    一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...

  5. xml的Dom4j解析规则

    一,xml的样本 <?xml version="1.0" encoding="utf-8"?> <contactList> <co ...

  6. Java进阶(二十七)使用Dom4j解析XML文件

    使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ...

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

    一.XML语言 XML是一种可扩展的标记语言,是一种强类型的语言,类似HTML(超文本标记语言,是一种弱类型的语言).XML是一种通用的数据交换格式(关系型数据库),综上所诉:XML可以传输数据,也可 ...

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

    一.概述 DOM4J是一个易用的.开源的库,用于XML.XPath和XSLT中.采用了Java集合框架并完全支持DOM.SAX.和JAXP. DOM4J最大的特色是使用大量的接口,主要接口都在org. ...

  9. Java中使用DOM4J来生成xml文件和解析xml文件

    一.前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理 ...

随机推荐

  1. 【Luogu】P3745期末考试(三分)

    题目链接 我是怎么把“期末考试”在本地写成“假期计划”的 qwq???? 本题把学生和卷子都排个序,按出成绩最晚时间三分. 三分之后可以O(n)的时间统计答案,因为修改卷子出成绩的时间可以贪心计划. ...

  2. 【Luogu】P2774方格取数问题(最大点权独立集)

    题目链接 不知道为啥坠大点权独立集的做法跟最大权闭合图差不多? qwq 放个链接 #include<cstdio> #include<cstring> #include< ...

  3. spring入门到放弃——spring事务管理

    Spring事务提供了两种管理的的方式:编程式事务和声明式事务 简单回顾下事务: 事务:逻辑上的一组操作,组成操作的各个单元,要么全部成功,要么全部失败. 事务特性: 原子性:一个事务包含的各个操作单 ...

  4. cf671B Robin Hood

    We all know the impressive story of Robin Hood. Robin Hood uses his archery skills and his wits to s ...

  5. Thrift & RPC介绍

    在学习thrift之前,先来看一下什么是rpc rpc远程过程调用,通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC采用客户机/服务器模式.请求程序就是一个客户机,而服务提供 ...

  6. SQL的主键和外键和唯一约束

    SQL的主键和外键的作用: 外键取值规则:空值或参照的主键值. (1)插入非空值时,如果主键表中没有这个值,则不能插入. (2)更新时,不能改为主键表中没有的值. (3)删除主键表记录时,你可以在建外 ...

  7. element-ui 的 upload组件的clearFiles方法调用方法

    <template> <div> <el-button @click="clearUploadedImage">重新上传</el-butt ...

  8. 写论文,关于word的技巧

    当段落的行间距为固定值的时候,图片会出现显示不全的情况,将行间距先改了再插入图片就没问题了. 从引用那边自动添加目录. ctrl+H打开可以使用通配符,改变字母或者数字的样式等

  9. 巧克力(zoj 1363)

    2100年,ACM牌巧克力将风靡全球. “绿的,橘红的,棕色的,红的…”,彩色的糖衣可能是ACM巧克力最吸引人的地方.你一共见过多少种颜色?现在,据说ACM公司从一个24种颜色的调色板中选择颜色来装饰 ...

  10. js 函数arguments一种用法

    无意改同事的代码发现的 function toggle(){ var _arguments=arguments; var count=0; $("#more").click(fun ...