<b>Java学习杂谈(五)</b>[Java编程]
本文“<b>Java学习杂谈(五)</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.Java关于XML的解析
相信大家对XML都不陌生,含义是可扩大标志语言.本身它也就是一个数据的载体以树状表现情势呈现.后来渐渐的数据变成了信息,辨别是信息可以包含可变的状况从而针对程序硬编码的做法改革为针对统一接口硬编码而可变状况作为信息进入了XML中存储.这样改变状况实现扩大的唯一工作是在XML中增添一段文本信息便可以了,代码不需求窜改也不需求重新编译.这个机动性是XML诞生时刻谁也没想到的.
当然,假如接口要能提取XML中配置的信息就需求程序能解析标准的XML文件,Java中当然要提高包对这个行为举行有利支持.笔者打算讲到的两个包是 org.w3c.dom和javax.xml.parsers和.(大家可以浏览一下这些包中间的接口和类定义)
Javax.xml.parsers包很简单,没有接口,两个工厂配两个解析器.明显解析XML是有两种方法的:DOM解析和SAX解析.本质上并没有谁好谁不好,只是实现的思惟不一样罢了.给一个XML文件的例子:
<?xml version="1.0" encoding="UTF-8" >
<root >
<child name="Kitty" >
A Cat
</child >
</root >
所谓DOM解析的思绪是把整个树状图存入内存中,需求那个节点只需求在树上搜索便可以读到节点的属性,内容等,这样的好处是全部节点皆在内存可以反复搜索反复利用,缺陷是需求损耗呼应的内存空间.
自然SAX解析的思绪就是为了降服DOM的缺陷,以事件触发为基本思绪,次序的搜索下来,碰到了Element之前触发什么事件,碰到之后做什么行动.由于需求自己来写触发事件的处理筹划,所以需求借助别的一个自定义的Handler,处于org.xml.sax.helpers包中.它的长处当然是不用整个包都读入内存,缺陷也是只能次序搜索,走完一遍就得重来.
大家很简单就可以猜到,接触到的J2ee框架用的是哪一种,明显是DOM.因为近似Struts,Hibernate框架配置文件毕竟是很小的一部份配置信息,并且需求频繁搜索来读取,当然会采取DOM方法(其实SAX内部也是用DOM采取的构造来存储节点信息的).目前无论用什么框架,还真难发现利用 SAX来解析XML的技术了,假如哪位仁兄知道,请让笔者也学习学习.
既然解析方法有了,那么就需求有解析的存储位置.不知道大家能否发现org.w3c.dom这个包是没有实现类全部都是接口的.这里笔者想说一下Java 若何对XML解析是Jdk应当考虑的事,是它的责任.而w3c组织是保护定义XML尺度的组织,所以一个XML构造是怎么样的由w3c说了算,它不关心 Java若何去实现,于是乎规定了全部XML存储的构造应当遵守的法则,这就是org.w3c.dom里全部的接口目的所在.在笔者看来,简单理解接口的概念就是实现者必须服从的原则.
整个XML对应的构造叫Document、子元素对应的叫做Element、还有节点相关的Node、NodeList、Text、Entity、 CharacterData、CDATASection等接口,它们都可以在XML的语法中间找到相对应的含义.由于这里不是讲授XML基本语法,就不多介绍了.假如大家感爱好,笔者也可以专门写一篇关于XML的语法法则帖与大家分享一下.
以上是“<b>Java学习杂谈(五)</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |