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

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

使用举例:

1.    s.xml内容

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

2.解析

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。 } } }

用SAXReader解析xml文档相关推荐

  1. XML 解析XML文档 XML约束

    XML 什么是XML Extensible Markup Language(可扩展的标记语言) 他是一个语言,有自己的语法,和Java以及其他的编程无关 "标记" 在文件中包含类似 ...

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

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

  3. Dom4j 解析Xml文档及XPath查询 学习笔记

    本文查阅方法:     1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题     2.快捷"查找" -- 在当前浏览器页面,按键 "Ctrl+F" 按键 ...

  4. DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件(详细)...

    Dom4j是一个简单.灵活的开放源代码的库.Dom4j是由早期开发JDOM开发的.与JDOM不同的是,dom4j使用接口和抽象的人分离出来而后独立基类,虽然Dom4j的API相对要复杂一些,但它提供了 ...

  5. xml教程之java解析xml文档

    1.java解析xml文件介绍 XML解析方式分为两种:DOM方式和SAX方式 DOM:Document Object Model,文档对象模型.这种方式是W3C推荐的处理XML的一种方式. SAX: ...

  6. 大杂烩 -- 四种生成和解析XML文档的方法详解

    基础大杂烩 -- 目录 众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM.SAX.JDOM和DOM4J DOM:在现在的Java JDK里都自带了,在xml-apis.jar包 ...

  7. Dom4j 解析Xml文档及 XPath查询 学习笔记

    2019独角兽企业重金招聘Python工程师标准>>> 本文查阅方法:     1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题     2.快捷"查找" ...

  8. Javaweb使用dom4j解析xml文档的一般姿势

    使用dom4j解析xml文档之前必须引入jar public class TestDom4j {@Testpublic void testReadWebXML() {try {// 1.获取解析器SA ...

  9. 分别使用dom和dom4j解析XML文档

    1.dom和dom4j的特点 dom是基于XML的树结构来完成解析的.dom解析XML文档时,会根据读取的文档,构建一个驻留内存的树结构,然后就可以使用dom接口来对XML文档进行增删查改等操作.do ...

最新文章

  1. 室内设计木地板材质合集包 Arroway – Design Craft Vol.4
  2. Lucene.net: the main concepts
  3. spring cloud使用hystrix实现断路保护机制
  4. mysql node null_node-mysql中防止SQL注入的方法总结
  5. 本地计算机绑定域名访问
  6. 宜搭小技巧|维护Excel太麻烦?Excel一键转应用,为你的工作减负
  7. 2020 AI、CV、NLP顶会最全时间列表
  8. Android studio SweetAlert for Android
  9. 互联网之“死”:为什么开发者会排斥新技术?
  10. C语言入门学习(入门级C语言)
  11. 初识UNIX操作系统
  12. Kafka的常用命令(包括:下载安装、后台启动)
  13. uniapp:APP跳转小程序
  14. L44. 通配符匹配
  15. 云服务器的系统镜像怎么选,买云服务器镜像怎么选择
  16. Unity 钓鱼玩法的初步实现
  17. 从中国封建历史的发展来理解云计算、雾计算、边缘计算以及云原生之间的关系
  18. 如何用divi主题做独立站?
  19. 计算机游戏是什么意思,端游是什么意思啊,吃鸡端游是什么意思啊
  20. 政策解读│软件产业企业所得税优惠政策介绍(2022年版)

热门文章

  1. 小论文格式要求(2010年版)
  2. list添加元素_如何给List集合的每个元素添加index序号
  3. 约瑟夫问题和又遇约瑟夫问题
  4. 【从头到脚】撸一个多人视频聊天 — 前端 WebRTC 实战(一)
  5. (67)TCL脚本命令【incr(一个参数)】
  6. AOP中的切点、切面、通知等
  7. MATLAB读取网页内链接,Matlab使用urlread()读取网页乱码问题
  8. RMAN的备份与恢复
  9. 2015年中国青年生活形态调查报告
  10. 【Mysql索引】二叉树、红黑树、B树、B+树