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解析方式,顺序读取,不用一次装载整个文件,遇到标签会 ... 
随机推荐
- 关于COM组件log的位置
			进程内组件写的log,如果不指定路径直接提供文件名,log文件的位置在dll所在的目录中. 进程外组件写的log,如果不指定路径直接提供文件名,log文件的位置不在exe所在的目录中,而是在系统目录. ... 
- Java 实例 - 队列(Queue)用法
			队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作. LinkedList类实现了Queue接口,因此我们可以把LinkedList当成Queue来用. 以下实例演示了队 ... 
- postgresql 内存分配
			postgresql的内存分配主要由shared_buffers.temp_buffers.work_mem.maintenance_work_mem参数控制. shared_buffers又可以叫做 ... 
- C#.NET常见问题(FAQ)-如何把写好的类编译成dll文件
			1 新建一个类库项目 2 直接改写这个Class1.cs文件 3 记得要添加Windows.Forms引用 4 我直接把在别的项目中做好的cs文件搞到这里来,连文件名也改了(FilesDi ... 
- 解决ArcEngine开发程序“假死”现象
			在GIS数据处理中,数据量大是一个非常伤脑筋的问题.最近,在写一个CAD注记转Shapefile文件时,又遇到这个问题. 曾经处理一次数据,达130万个点,即测试区域内的栅格转成点全部处理,程序是写好 ... 
- 用node.js写的代码
			下面的代码摘抄于官方网站,我在本地跑了一下,并且把自己的理解简单的做了记录 服务端 app.js var app = require('http').createServer(handler) var ... 
- ZH奶酪:AngularJS判断checkbox/复选框是否选中并实时显示
			最近做了一个选择标签的功能,把一些标签展示给用户,用户选择自己喜欢的标签,就类似我们在购物网站看到的那种过滤标签似的: 简单的效果如图所示: 首先看一下html代码: <!DOCTYPE htm ... 
- libcurl 接口调用方式
			http://hi.baidu.com/tracyu1026/item/bb6d5def4292b10b570f1d48 libcurl提供了一组C语言API函数直接调用.首先需要提到的两个函数就是c ... 
- svg translate 操作
			function dragElement(evt) { var target = evt.target; var id = target.id; var dx = evt.dx, dy = evt.d ... 
- hadoop MultipleInputs fails with ClassCastException (get fileName)
			来自:http://stackoverflow.com/questions/11130145/hadoop-multipleinputs-fails-with-classcastexception F ... 
