Java修炼——四种方式解析XML_DOM4J
注意: DOM4J使用是需要上传jar包的。
先写一个XML栗子:
<?xml version="1.0" encoding="UTF-8"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="{book.xsd}">
<book id="1001">
<name>从入门到放弃</name>
<auto>高人</auto>
<price>35.5</price>
</book>
<book id="1002">
<name>从删库到跑路</name>
<auto>高小人</auto>
<price>48.3</price>
</book>
<book id="1003">
<name>从java到光头</name>
<auto>高大人</auto>
<price>16.6</price>
</book>
</books>
1DOM4J 解析 XML 的步骤
1) 创建 SAXReader 对象
2) 调用 read 方法
3) 获取根元素
4) 通过迭代器遍历直接节点
package com.bjsxt.DOM4j;
import java.io.File;
import java.util.Iterator;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class TestDOM4j {
public static void main(String[] args) throws DocumentException {
//1) 创建 SAXReader对象
SAXReader saxreader=new SAXReader();
//2) 调用 read 方法
Document doc = saxreader.read(new File("book.xml"));
//3) 获取根元素
Element root = doc.getRootElement();
//4) 通过迭代器遍历直接节点
for(Iterator<Element> iteBook=root.elementIterator();iteBook.hasNext();) {
Element bookEle = iteBook.next();
//得到book的属性
for(Iterator<Attribute> itAtt=bookEle.attributeIterator();itAtt.hasNext();) {
Attribute att = itAtt.next();
System.out.println(att.getName()+"\t"+att.getText());
}
}
System.out.println("\n--------------");
for(Iterator<Element> itebook=root.elementIterator();itebook.hasNext();) {
Element bookEle = itebook.next();
for(Iterator<Element> subookEle=bookEle.elementIterator();subookEle.hasNext();) {
//得到每一个子元素
Element subEle = subookEle.next();
System.out.println(subEle.getName()+"\t"+subEle.getText());
}
System.out.println("==============");
}
}
}
运行结果:

Java修炼——四种方式解析XML_DOM4J的更多相关文章
- Java修炼——四种方式解析XML_JDOM
四种方式解析XML:DOM JDOM DOM4J SAX JDOM使用前需要上传jar包. 先写一个XML栗子: <?xml version="1.0" ...
- Java修炼——四种方式解析XML_DOM
四种方式解析XML:DOM JDOM DOM4J SAX 先写一个XML栗子: <?xml version="1.0" encoding="UT ...
- Java修炼——四种方式解析XML_SAX
四种方式解析XML:DOM JDOM DOM4J SAX 先写一个XML栗子: <?xml version="1.0" encoding="U ...
- java 多线程实现四种方式解析Thread,Runnable,Callable,ServiceExcutor,Synchronized ,ReentrantLock
1.Thread实现: import java.util.Date; import java.text.SimpleDateFormat; public class MyThread extends ...
- JAVA解析XML的四种方式
java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...
- JAVA中的四种JSON解析方式详解
JAVA中的四种JSON解析方式详解 我们在日常开发中少不了和JSON数据打交道,那么我们来看看JAVA中常用的JSON解析方式. 1.JSON官方 脱离框架使用 2.GSON 3.FastJSON ...
- 解析xml文件的四种方式
什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没 ...
- 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...
- Java实现文件复制的四种方式
背景:有很多的Java初学者对于文件复制的操作总是搞不懂,下面我将用4中方式实现指定文件的复制. 实现方式一:使用FileInputStream/FileOutputStream字节流进行文件的复制操 ...
随机推荐
- SqlServer2005 查询 第七讲 order by
今天我们来讲sql命令中的参数order by的用法 order by order by:可以理解成[以某个字段排序] order by a,b // a和b都按升序 order by a,b des ...
- 02. JVM运行机制
JVM运行机制 JVM启动流程 JVM基本结构 内存模型 编译和解释运行的概念 一.JVM启动流程
- nyoj 116 士兵杀敌(二)(线段树、单点更新)
士兵杀敌(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的. 小工是南将军手下的军师,南将军经常 ...
- pat 1069 The Black Hole of Numbers(20 分)
1069 The Black Hole of Numbers(20 分) For any 4-digit integer except the ones with all the digits bei ...
- hdu 1171 Big Event in HDU (01背包, 母函数)
Big Event in HDU Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- nyoj 822-画图 (*)
822-画图 内存限制:64MB 时间限制:1000ms 特判: No 通过数:133 提交数:187 难度:0 题目描述: 计算机画图也挺有趣的哈!那我们就来用计算机画幅图吧... 输入描述: 输入 ...
- 【SpringBoot | Redis】SpringBoot整合Redis
SpringBoot整合Redis 1. pom.xml中引入Redis相关包 请注意,这里我们排除了lettuce驱动,采用了jedis驱动 <!-- redis的依赖 --> < ...
- java常用简略语含义
首先这些对象都应用都是一些单词的简称,也是一种应用思想,故其他语言也可以使用,在Java里比较常见这些对象吧.下面来一一解释. 一.POJO(Plain Ordinary Java Object). ...
- Python 命令行之旅:深入 click 之子命令篇
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...
- Centos7 搭建LAMP环境(编译安装)
1.查看系统版本 [niemx@localhost ~]$ cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) 2.安装软件准备 ...