第一次接触dom4j的时候,感觉这个东西很神秘,因为之前虽然知道XML文件吧,但从来没有用过,一直感觉XML肯定不好操作。当得知,dom4j可以很容易的操作读取XML文件时,不免有些好奇,那么,用dom4j读取XML文件到底有多简单呢?让我带大家去看一下。

首先看一下XML文件的结构:

<?xml version="1.0" encoding="utf-8"?>
<ACCESOS>
<item>
<SOCIO>
<NUMERO>00045050</NUMERO>
<REPOSICION>0</REPOSICION>
<NOMBRE>MOISES MORENO</NOMBRE>
<TURNOS>
<LU>T1</LU>
<MA>T2</MA>
<MI>T3</MI>
<JU>T4</JU>
<VI>T5</VI>
<SA>T6</SA>
<DO>T7</DO>
</TURNOS>
</SOCIO>
</item>
<item>
<SOCIO>
<NUMERO>00045051</NUMERO>
<REPOSICION>0</REPOSICION>
<NOMBRE>RUTH PENA</NOMBRE>
<TURNOS>
<LU>S1</LU>
<MA>S2</MA>
<MI>S3</MI>
<JU>S4</JU>
<VI>S5</VI>
<SA>S6</SA>
<DO>S7</DO>
</TURNOS>
</SOCIO>
</item>
</ACCESOS>

用dom4j读取XML文件只需要两步:

第一步:引入jar文件,具体引入dom4j-1.6.1.jar文件和jaxen-1.1-beta-6.jar文件

第二步:简单书写几行代码,具体代码如下:

import java.io.File;
import java.util.Iterator;
import java.util.List; import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader; public class ReadXML {
public static void main(String[] arg){
try {
//XML文件在E:/test01.XML
Document doc = new SAXReader().read(new File("E:/test01.XML"));
List<Element> itemList = doc.selectNodes("/ACCESOS/item/SOCIO");
for (Iterator<Element> iter = itemList.iterator(); iter.hasNext();){
Element element = iter.next();
System.out.println("NUMERO =" + element.elementText("NUMERO"));
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}

OK,现在已经可以读取出XML文件中的内容了,让我们看一下结果是否正确:

NUMERO =00045050
NUMERO =00045051

第一次接触dom4j的时候,感觉这个东西很神秘,因为之前虽然知道XML文件吧,但从来没有用过,一直感觉XML肯定不好操作。当得知,dom4j可以很容易的操作读取XML文件时,不免有些好奇,那么,用dom4j读取XML文件到底有多简单呢?让我带大家去看一下。

Perfect!结果完全正确。到此为止,我们仅仅用了几行代码,XML中的数据就已经被封装到了对象中,取得XML中的数据与取数组中的数据几乎没有任何区别,这就是dom4j 的强大之处。有了dom4j,再次操作XML文件时,心不烦了,脑袋不大了,一口气读十个XML文件都是小case啦。

人呢,都有一种对未知的恐惧心理,就像初次接触dom4j吧,什么dom4j、XPath啦,这些新名词突然出现在我们面前,立马就有种要躲开的潜意识。其实呢,它也就是这几个新名词而已。很多时候,阻挡我们前进的并不是那些未知的东西,而我们对未知的恐惧心理。只要我们战胜了这种恐惧心理,你会收到意想不到的惊喜。

当今社会,尤其是计算机的世界,如果你一直抵触新的东西,那么,很快你就会被淘汰,就会变为古董。与时俱进的思想在计算机的世界里尤为突出。生活在这样的时代,学习要是不讲究点策略,那你学的都不一定有发展快。在这种环境下,如果你遇到新知识就去钻研,就想弄个一清二楚,那么,在动物世界跑步大赛中,你的学习速度就可以跟蜗牛媲美了。所以呢,好多东西,会用就可以了,要善假于物,要学会站在巨人的肩膀上考虑问题,囫囵吞枣的学习方法真的很实用,很有效果。当然,我并不是否认钻研的重要性,探索的精神还是必不可少的,但是呢?如果我们用那些探索没必要东西花的时间来考虑“什么东西该囫囵吞枣的学,什么东西应该去钻研”,我感觉这样更利于我们的发展。

“囫囵吞枣”和“钻研、探索”之间,平衡就好。与学习某些具体的技术相比,学习找到这个平衡点更为重要。

道理很坎坷,兄弟们,加油啦!

使用dom4j 读取XML文件的更多相关文章

  1. DOM4J读取XML文件

    最近在做DRP的项目,其中涉及到了读取配置文件,用到了DOM4J,由于是刚开始接触这种读取xml文件的技术,好奇心是难免的,于是在网上又找了一些资料,这里就结合找到的资料来谈一下读取xml文件的4中方 ...

  2. dom4j读取XML文件内容

    <?xml version="1.0" encoding="UTF-8"?> <RESULT> <VALUE> <NO ...

  3. 利用dom4j读取xml文件

    对于xml文件的读取,其实有很多方法,例如:SAX实现方法,DOM4J实现方法 ,DOM 实现方法,JDOM实现方法 等等. 下面,我就说下dom4j的读取方法: 1.首先,肯定要引入第三方jar包. ...

  4. RSS阅读器(一)——dom4j读取xml(opml)文件

    接触java不久,偶有收获,最近想做一个web版RSS阅读器来锻炼一下.手头有几个从不同版本的foxmail中导出的opml文件,大家应该都知道,opml文件就是xml格式的.那么就先从这里入手,练习 ...

  5. 菜鸟学Java(八)——dom4j详解之读取XML文件

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

  6. java Domj4读取xml文件

    先概括,再以代码形式给出. 获取节点: Iterator  Element.nodeIterator();  //获取当前标签节点下的所有子节点 获取 标签: Element Document.get ...

  7. 使用DOM4J解析XMl文件与读取XML文件

    XML文件 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ...

  8. java DOM4J 读取XML

    最近学习Java,在处理XML文档的时候,查阅相关资料,发现了DOM4J这个jre库,相对C#的XML处理来说,功能还算是跟得上 下面展示一篇我自己写的一个XML读取测试 import java.ut ...

  9. 【dom4j xml】使用dom4j处理XML文件--测试过程遇到的问题

    首先 关于dom4j的API,有如下: 当然  其中的实体引用有以下: 测试使用环境: 使用Maven搭建web环境,pom.xml文件配置如下: <project xmlns="ht ...

随机推荐

  1. VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池

    VMware vSphere 服务器虚拟化之二十五 桌面虚拟化之终端服务池 终端服务池是指由一台或多台微软终端服务器提供服务的桌面源组成的池.终端服务器桌面源可交付多个桌面.它具有以下特征: 1.终端 ...

  2. Configuration所有配置简介

    // 内存缓存的设置选项 (最大图片宽度,最大图片高度) 默认当前屏幕分辨率                // .memoryCacheExtraOptions(480, 800) // 硬盘缓存的 ...

  3. 最蛋疼的bug:读取图片缩略图(一定要在相冊查看下形成缓存)

    近期的一个连接服务端的应用.须要读取图片,一般供用户公布商品选择上传图片.初始的图片列表应该是缩略图.仅仅有确定了,才上传原图,OK不多说上代码 package edu.buaa.erhuo; imp ...

  4. DirectX 11游戏编程学习笔记之8: 第6章Drawing in Direct3D(在Direct3D中绘制)(习题解答)

            本文由哈利_蜘蛛侠原创,转载请注明出处.有问题欢迎联系2024958085@qq.com         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候 ...

  5. [AWS S3] Hosting a Static Website on Amazon S3

    In this lesson, you will learn how to host a static website on Amazon S3. I will show you how to cre ...

  6. PHP安全编程:HTTP请求欺骗(转)

    一个比欺骗表单更高级和复杂的攻击方式是HTTP请求欺骗.这给了攻击者完全的控制权与灵活性,它进一步证明了不能盲目信任用户提交的任何数据. 为了演示这是如何进行的,请看下面位于http://exampl ...

  7. RESTEasy + JBOSS 7 Hello world application---reference

    RESTEasy is JBOSS provided implementation of JAX-RS specification for building RESTful Web Services  ...

  8. Python下载漫画

    上午起来提不起劲,于是就用电脑看漫画,但是在线看漫画好烦,就想下下来看.一个一个点太麻烦,于是花了点时间用python写了个demo,把爱漫画的漫画下载下来,这样就可以随时随地看了.这也是我首次尝试用 ...

  9. uva 11324 The Largest Clique (Tarjan+记忆化)

    /*每个环 要么不选 要么全选 可缩点 就得到一个GAD图 然后搞搞算出最大路径*/ #include<iostream> #include<cstdio> #include& ...

  10. HDU 2639 (01背包第k优解)

    /* 01背包第k优解问题 f[i][j][k] 前i个物品体积为j的第k优解 对于每次的ij状态 记下之前的两种状态 i-1 j-w[i] (选i) i-1 j (不选i) 分别k个 然后归并排序并 ...