XML文件常用的解析方式有DOM解析,SAX解析。
一、Sax
SAX(simpleAPIforXML)是一种XML解析的替代方法。相比于DOM,SAX是一种速度更快,更有效的方法。它逐行扫描文档,一边扫描一边解析。而且相比于DOM,SAX可以在解析文档的任意时刻停止解析,但任何事物都有其相反的一面,对于SAX来说就是操作复杂。SAX解析XML文档采用事件驱动模式。什么是事件驱动模式?它将...
分类:
移动开发 时间:
2014-10-28 12:19:25
阅读次数:
274
DOM模型(documentobject model)
?DOM解析器在解析XML文档时,会把文档中的所有元素,按照其出现的层次关系,解析成一个个Node对象(节点)。
?在dom中,节点之间关系如下:
?位于一个节点之上的节点是该节点的父节点(parent)
?一个节点之下的节点是该节点的子节点(children)
?同一层次,具有相同父节点的节点是兄弟节点(sibling)
?一个节点的下一个层次的节点集合是节点后代(descendant)...
分类:
其他好文 时间:
2014-10-26 11:50:27
阅读次数:
215
解析xml有四种方法:DOM,SAX,DOM4j,JDOM.
我们主要学了两种:DOM和SAX.
DOM适于解析比较简单的XML而SAX则适于解析较复杂的XML文件。各有各的好。
DOM和SAX的不同:
1. DOM是基于内存的,不管文件有多大,都会将所有的内容预先装载到内存中。从而消耗很大的内存空间。而SAX是基于事件的。当某个事件被触发时,才...
分类:
其他好文 时间:
2014-10-25 09:19:51
阅读次数:
222
以前在做开始中一直没用TinyXml,在网上搜索说Rapidxml的效率比tinyXml高。个人比较喜欢追求效率,所以忍不住尝试性使用Rapidxml。RapidXml 的官方网站如下: http://rapidxml.sourceforge.net/manual.html。
RapidXml是一个使用C++编写的XML DOM解析工具包,整个解析工具包包含在一个头文件中,所以使用时不...
通过实例分析DOM跟SAX解析xml的区别。DOM解析XML时,首先将xml文档整个加载到内存中,然后就可以随机访问内存中的文档对象树(dom解析器是把xml解析成树形结构的)。SAX是基于事件的而且是顺序的,就是读到某个标签时就会调用相应的方法,一旦经过了某个元素之后,我们就没办法再去访问了。DO...
分类:
其他好文 时间:
2014-09-22 15:07:52
阅读次数:
242
DOM解析XMLDOM是Document Object Model的缩写,即文档对象模型.DOM解析器是通过将XML文档解析成树状模型并将其放入内存来完成解析工作的,而后对文档的操作都是在这个树状模型上完成.这个在内存中的文档是实际文档大小的几倍.好处是结构清晰,操作方便,坏处是耗费系统资源.要使用...
分类:
移动开发 时间:
2014-09-20 19:53:39
阅读次数:
236
SAX逐行解析SAX:SimpleAPIforXML。基于事件驱动的解析方式,逐行解析数据。(采用协议回调机制)NSXMLParser是iOS自带的XML解析类。采用SAX方式解析数据解析过程由NSXMLParserDelegate协议方法回调解析过程:开始标签->取值->结束标签->取值DOM解析DOM:DocumentObje..
分类:
其他好文 时间:
2014-09-17 18:50:53
阅读次数:
318
DOM解析使用Google提供的一个开源高效的XML解析工具GDataXMLNode,它的效率要比NSXMLParser要快10倍使用方式:1.小导入系统动态链接库libxml2.2.dylib2.在buildSettings中的HeaderSearchPath中添加/usr/include/libxml23.在buildSettings中的OtherLinkerFlags中添加-lxml2获取解..
分类:
其他好文 时间:
2014-09-15 11:30:39
阅读次数:
145
* DOM解析使用Google提供的一个开源高效的XML解析工具GDataXMLNode,他的效果要比NSXMLParser要快10倍
使用方式:
1:先倒入系统动态链接库 libxml2.2.dylib
在项目的Targets – Summary – Linked Frameworks and Libraries或者在Targets – Build Phases – L...
分类:
其他好文 时间:
2014-09-13 14:42:05
阅读次数:
198