Dom4j解析和sax解析xml
xml基础知识
1)标签对大小写敏感,2)xml解析方式有两种dom解析和sax解析 3)常用的解析工具有dom的dom4j和sax的sax解析工具 4)文档声明中使用<?xml version="1.0" encoding="utf-8"?> encoding="utf-8"表示的意义是解析该文档时使用utf-8编码格式进行解析,要与文件保存时的编码方式一致。
1 在解析xml文件时,比较常用的是Dom4j包,可以很方便的解析出来dom树结构。dom4j包含有常用结构node,element,attribute,
在操作dom元素之前,需要新建一个SAXReader saxReader = new SAXReader();然后获取document,即整个document树
获取rootElement,使用函数是getRootElement();获取到element后就可以任意遍历元素element、属性attribute、内容text
2 注意xml文件中的空格和换行和html不同,xml解析器会将空格和换行认为是内容。
3 dom解析 和 SAx解析区别
1)一次性加载xml文件,不适合大文件 加载一点解析一点
2) 可以增删改查 只能读取
3) 可以读取任意位置数据 只能从上到下
4) 面向对象document,element 基于事件编程
Xpath技术
List<Node> list = Element.selectNodes("xpath") //获取所有Node
Node node = Element.selectNode("xpath") //获取单个Node
1)根标签:"/",选取根标签
2)所有标签:"//",选取所有满足要求的标签
3)通配符:"*",选取所有标签
4)带有条件的选取:[]
5)选取属性:"@",选取属性值的是"@id='001'"
Dom4j解析和sax解析xml的更多相关文章
- XML 解析---dom解析和sax解析
眼下XML解析的方法主要用两种: 1.dom解析:(Document Object Model.即文档对象模型)是W3C组织推荐的解析XML的一种方式. 使用dom解析XML文档,该解析器会先把XML ...
- XML的概述,.Dom4解析和SAX解析
1.什么是XML XML 指可扩展标记语言(EXtensible Markup Language) html(hyper text markup langauge) XML 是一种标记语言,很类似 H ...
- 经典面试题:一张表区别DOM解析和SAX解析XML
============DOM解析 vs ...
- java解析XML之DOM解析和SAX解析(包含CDATA的问题)
Dom解析功能强大,可增删改查,操作时会将XML文档读到内存,因此适用于小文档: SAX解析是从头到尾逐行逐个元素解析,修改较为不便,但适用于只读的大文档:SAX采用事件驱动的方式解析XML.如同在电 ...
- XML解析(二) SAX解析
XML解析之SAX解析: SAX解析器:SAXParser类同DOM一样也在javax.xml.parsers包下,此类的实例可以从 SAXParserFactory.newSAXParser() 方 ...
- DOM解析和SAX解析的区别
DOM解析和SAX解析的区别 博客分类: XML DOM SAX DOM解析和SAX解析的区别 No 区 别 DOM解析 SAX解析 1 操作 将所有文件读取到内存中形成DOM树,如果文件量过大,则 ...
- java拾遗2----XML解析(二) SAX解析
XML解析之SAX解析: SAX解析器:SAXParser类同DOM一样也在javax.xml.parsers包下,此类的实例可以从 SAXParserFactory.newSAXParser() 方 ...
- 非常简单的XML解析(SAX解析、pull解析)
这里只是把解析的数据当日志打出来了 非常简单的xml解析方式 package com.example.demo.service; import java.io.IOException; import ...
- XML文件解析DOM解析和SAX解析
解析一个XML文档有哪些内容解析有:dom和sax两种dom:把整个XML文档放入内存,适合XML随机访问,占用内存资源大sax:事件驱动型的XML解析方式,顺序读取,不用一次装载整个文件,遇到标签会 ...
随机推荐
- 【转】十个经典的C开源项目代码
原文: http://blog.51cto.com/chinalx1/2143904 --------------------------------------------------------- ...
- python3插入数据
python3插入数据 insert into table(column....) values('%s','%d') %d也是需要加单引号的:
- debug输出rect,size和point的宏
#define NSLogRect(rect) NSLog(@"%s x:%.4f, y:%.4f, w:%.4f, h:%.4f", #rect, rect.origin.x, ...
- 【PHP 】伪静态 - 4. 实际运用
伪静态的实际运用 1. 在一个项目中有两个文件夹,public和private, public文件夹的图片可以被所有人访问,private只能被自己访问.如何实现? 第一个方法是: 在public和p ...
- TotalCommander如何比较文件夹并提取出重复的文件
1 如图所示,我左侧有一万本多小说,右侧有两千五百多本小说,我希望比较这两个文件夹相同的小说并剪切到一个新的文件夹中. 2 我们使用Total Commander对比这两个文件夹 3 随后两个文件夹相 ...
- 嵌套循环连接(nested loops join)原理
嵌套循环连接(nested loops join) 访问次数:驱动表返回几条,被驱动表访问多少次. 驱动表是否有顺序:有. 是否要排序:否. 应用场景: 1.关联中有一个表比较小: 2.被关联 ...
- cp 命令(转)
原文:http://www.cnblogs.com/peida/archive/2012/10/29/2744185.html cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情 ...
- 如何更改删除window服务?
Cmd 下输入 sc delete 服务名 想要看服务名直接cmd下输入services.msc 打开服务, 例如删除apache服务 命令:sc delete Apache2.4
- Linux 如何判断自己的服务器是否被入侵
如何判断自己的服务器是否被入侵了呢?仅仅靠两只手是不够的,但两只手也能起到一些作用,我们先来看看UNIX系统上一些入侵检测方法,以LINUX和solaris为例. 1.检查系统密码文件 首先从明显的入 ...
- Ubuntu解压缩zip,tar,tar.gz,tar.bz2
ZIP zip可能是目前使用得最多的文档压缩格式.它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用.缺点就是支持的压缩率不是很高,而tar.gz和tar. ...