转载自:http://blog.csdn.net/seayqrain/article/details/5024068#

使用SAXReader需要导入dom4j-full.jar包。

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

举例:

xml内容:

<?xml version="1.0" encoding="GB2312"?>
<data>
<row queryDTO.enterpriseId="gfd" queryDTO.loginName="gdfg" queryDTO.state="0"/>
</data>

解析:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
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;
import org.dom4j.tree.AbstractAttribute; public class ReadXMLTest { public static void main(String[] args){
File xmlFile = new File("C:/s.xml");
FileInputStream fis = null;
try {
fis = new FileInputStream(xmlFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
System.err.println("File is not exsit!");
} SAXReader saxReader = new SAXReader();
List rowList = null;
try {
//生成文档对应实体
Document doc = saxReader.read(fis);
//获取指定路径下的元素列表,这里指获取所有的data下的row元素
rowList = doc.selectNodes("//data/row");
} catch (DocumentException e) {
e.printStackTrace();
} for(Iterator iter = rowList.iterator();iter.hasNext();){
//获得具体的row元素
Element element = (Element)iter.next();
//获得row元素的所有属性列表
List elementList = element.attributes();
for(Iterator iter1 = elementList.iterator();iter1.hasNext();){
//将每个属性转化为一个抽象属性,然后获取其名字和值
AbstractAttribute aa = (AbstractAttribute)iter1.next();
System.out.println("Name:"+aa.getName()+";Value:"+aa.getValue());
}
//输出:
//Name:queryDTO.enterpriseId;Value:gfd
//Name:queryDTO.loginName;Value:gdfg
//Name:queryDTO.state;Value:0
System.out.println(element.getName());
//输出:
//row
// 取得row元素的queryDTO.enterpriseId属性的值
System.out.println(element.attributeValue("queryDTO.enterpriseId"));
//输出:
//gfd
//如果element下有子元素,(类似width="**"),要想获得该子元素的值,可以用如下方法
System.out.println(element.elementText("width"));//因为没有,所以输出为null。
} }
}

rowlist是用Xpath表示的,可以参考文章:http://blog.csdn.net/hekaihaw/article/details/54376656

SAXReader简单实例解析HTML的更多相关文章

  1. jsoup解析HTML及简单实例

    jsoup 中文参考文献    http://www.open-open.com/jsoup/ 本文将利用jsoup,简单实现网络抓取的功能,并给出一个小实例,该实例效果为:获取作者本人在博客园写的所 ...

  2. Wordpress解析系列之PHP编写hook钩子原理简单实例

    Wordpress作为全球应用最广泛的个人博客建站工具,有很多的技术架构值得我们学习推敲.其中,最著名最经典的编码技术架构就是采用了hook的机制. hook翻译成中文是钩子的意思,单独看这个词我们难 ...

  3. jQuery简单实例

    jQuery 选择器 $(this).hide() 演示 jQuery 的 hide() 函数,隐藏当前的 HTML 元素. $("p").hide() 演示 jQuery 的 h ...

  4. JavaWeb实现文件上传下载功能实例解析

    转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...

  5. Android Fragment 简单实例

    Android上的界面展示都是通过Activity实现的.Activity实在是太经常使用了.我相信大家都已经很熟悉了,这里就不再赘述. 可是Activity也有它的局限性,相同的界面在手机上显示可能 ...

  6. 简单实例一步一步帮你搞清楚MVC3中的路由以及区域

    我们都知道MVC 3 程序的所有请求都是先经过路由解析然后分配到特定的Controller 以及 Action 中的,为什么这些知识讲完了Controller Action Model 后再讲呢?这个 ...

  7. Android开发之IPC进程间通信-AIDL介绍及实例解析

    一.IPC进程间通信 IPC是进程间通信方法的统称,Linux IPC包括以下方法,Android的进程间通信主要采用是哪些方法呢? 1. 管道(Pipe)及有名管道(named pipe):管道可用 ...

  8. Maven--多模块依赖实例解析(五)

    <Maven--搭建开发环境(一)> <Maven--构建企业级仓库(二)> <Maven—几个需要补充的问题(三)> <Maven—生命周期和插件(四)&g ...

  9. SoapUI简介和入门实例解析

    SoapUI简介 SoapUI是一个开源测试工具,通过soap/http来检查.调用.实现Web Service的功能/负载/符合性测试.该工具既可作为一个单独的测试软件使用,也可利用插件集成到Ecl ...

随机推荐

  1. java 面向对象 2

    一.JAVA类的定义 JAVA里面有class关键字定义一个类,后面加上自定义的类名即可.如这里定义的person类,使用class person定义了一个person类,然后在person这个类的类 ...

  2. 醒醒吧!互联网的真正未来不是AI,更不是VR,AR,而是区块链

    这些力量并非命运,而是轨迹.他们提供的并不是我们将去向何方的预测,而是告诉我们,在不远的将来,我们会向那个方向前行,必然而然. ---凯文•凯利 文字与货币 人类在演化过程中,凭借智慧创造了无数事物, ...

  3. Js、Jquery定时执行(一次或者重复多次,取消重复)

    1. 创建一个变量 var ref = ""; 2. 定时刷新调用的方法 function consoleLog(){ console.log("a"); } ...

  4. 项目收集-AutoMapper使用,事务,Json.Net序列化反序列化,代码生成调用等

    using System; using AutoMapper; using Newtonsoft.Json; using Newtonsoft.Json.Linq; namespace Console ...

  5. wpf 画刷的分类

    System.Windows.Media.Brush最上一层画刷 System.Windows.Media.GradientBrush  线性画刷 ,下层主要有两种画刷 System.Windows. ...

  6. cocos2dx - v2.3.3编辑器简单使用及不同分辨率适配

    准备工具 Cocos 引擎当前最新版本:v2.3.3       官网下载地址: http://www.cocos.com/download/ 前述:cocos自带UI编辑器在最新的版本有了很大的改动 ...

  7. 数据收集利器 cAdvisor - 每天5分钟玩转 Docker 容器技术(82)

    cAdvisor 是 google 开发的容器监控工具,我们来看看 cAdvisor 有什么能耐. 在 host 中运行 cAdvisor 容器. docker run \ --volume=/:/r ...

  8. Java集合框架,未完

    一.集合类 集合的由来: 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就需要将对象进行存储,集合就是存储对象最常用的一种方式. 集合特点:1,用于存储对象的容器.(容器本身就是 ...

  9. 2017年十大奇葩画风的H5页面案例,原来脑洞可以这样大

    每个人都是视觉动物,画面精美.体验奇特的H5,用户在内心一般都会满分打出,毫不吝啬,同时也毫不犹豫分享,因为此时的分享不掉价儿~ 今天给大家准备了十支H5,画风超级奇特,非常值得一看所有案例均可在19 ...

  10. mongdb单节点安装方法

    mongo单节点环境安装(linux) 安装包 下载地址: (https://www.mongodb.com/download-center) 用户权限/目录 创建 dbuser用户 groupadd ...