XML_解析使用NSXMLPaser(SAX)和GDataXML(DOM)

目录[-]

XML有两种解析方法SAX和DOM。

SAX方法可以使用iOS SDK中的NSXMLParser,DOM方法可以使用GOOGLE提供的GDataXML(下载地址:http://code.google.com/p/gdata-objectivec-client/downloads/detail?name=gdata-objectivec-client-1.12.0.zip&can=1&q=gdata),GDataXML  它是Google开发的DOM方式XML解析类库,支持读取和修改XML文档,支持XPath方式查询。当然还有其他第三方库用来解析XML文件。

以下例子解析的xml文件内容如下:

一.SAX方法:NSXMLParser

1.添加NSXMLParserDelegate协议

2.获取XML文件,初始化NSXMLParser,并开启解析

3.实现协议中的方法

二.DOM方法:GDataXML

GDataXMLDocument:xml解析入口

GdataXMLElement:保存查找的数据

GdataXMLNode:保存解析的数据

1.把下载来的文件中的GDataXMLNode.h和GdataXMLNode.m添加进工程

2.选中项目,添加libxml2,将Build Settings页中,顶部的“Basic”标签切换到“All”, 找到“Paths\Header Search Paths”项,并添加“/usr/include/libxml2”到列表中,找到“Linking\Other Linker Flags”项,并添加“-lxml2”到列表中,可以参考http://mobile.51cto.com/iphone-281283.htm

3.获得XML文件,并设置GDataXMLDocument

4.解析

XPath方法:(要想了解XPath,请点这http://baike.baidu.com/view/307399.htm

或者

时间: 2024-10-01 23:24:13

XML_解析使用NSXMLPaser(SAX)和GDataXML(DOM)的相关文章

android解析XML总结-SAX、Pull、Dom三种方式

在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX.Pull.Dom解析方式.最近做了一个android版的CSDN阅读器,用到了其中的两种(sax,pull),今天对android解析xml的这三种方式进行一次总结. xml示例(channels.xml)如下: <?xml version="1.0" encoding="utf-8"?> <channel> <item id="0&q

详解android解析Xml的三种方式——DOM、SAX以及XMLpull

今天学习了android解析Xml的三种方式——DOM.SAX以及XMLpull,这里对它们进行总结. 如果理解有误,欢迎指正   ^_* 一.DOM方式解析: xml是先把xml文档都读到内存中,然后再用DOM API来访问树形结构,并获取数据.这个写起来很简单,但是很消耗内存.要是数据过大,手机不够牛逼,可能手机直接死机. 常用的DoM接口和类: Document:该接口定义分析并创建DOM文档的一系列方法,它是文档树的根,是操作DOM的基础.Element:该接口继承Node接口,提供了获

Android学习xml解析大全之SAX和DOM

  随着android的学习解析xml成为了很多朋友面临的问.想学习如何解析xml就要先了解xml是什么. XML称为可扩展标记语言(Extensible Markup Language),由标准通用标记语言(SGML:Standard Generalized Markup Language)发展而来,允许开发者自定义标签,可以实现标签和内容的有效分离. 与HTML不同,XML不再侧重于数据如何表现,而是更多的关注数据如何存储和传输.因此,XML逐渐演变成为一种跨平台的数据交换格式.通过使用XM

XML解析的三种方式(dom,sax,dom4j)

1.Dom解析: 要解析的xml文件内容: <?xml version="1.0" encoding="utf-8" standalone="no"?><class> <stu id="1"> <name>小灰灰</name> <age>23</age> <insto>好学生</insto> </stu> &

JAVA解析XML之SAX方式

JAVA解析XML之SAX方式 SAX解析xml步骤 通过SAXParseFactory的静态newInstance()方法获取SAXParserFactory实例factory 通过SAXParserFactory实例的newSAXParser()方法返回SAXParser实例parser 创建一个类继承DefaultHandle,重写方法进行业务处理并创建这个类的实例handle 重写DefaultHandle类的方法 startElement方法用来遍历xml文件的开始标签; endEle

笔记:XML-解析文档-流机制解析器(SAX、StAX)

DOM 解析器完整的读入XML文档,然后将其转换成一个树型的数据结构,对于大多数应用,DOM 都运行很好,但是,如果文档很大,并且处理算法又非常简单,可以在运行时解析节点,而不必看到完整的树形结构,那么我们应该使用流机制解析器(streaming parser),Java 类库提供的流解析机制有 SAX 解析器和 StAX 解析器,SAX 解析器是基于事件回调机制,而 StAX解析器提供了解析事件的迭代器. 使用SAX解析器 SAX 解析器在解析XML 输入的组成部分时会报告事件,在使用 SAX

XML数据解析(元素属性) SAX方式NSParser代理

本文使用的XML文档格式 SAX解析XML数据是一行一行的解析,与DOM方式将整个文档加入内存解析方式不同, SAX解析使用NSParser(apple自带框架)DOM依靠GData(谷歌开发) SAX解析数据原理:事件驱动,每发现一个元素就通知代理,在代理方法中将发现的元素封装存储到字典中,我们通过遍历字典拿到发现的每个元素,模型化后存放在数据源数组中 下面给出这个XML文档的SAX解析代码,其余部分代码与前面几篇文章相同 SAX解析常用的代理方法:(都是代理方法,解析器发现一个数据就通知对应

XML引入,DOM 方式解析XML 原理,SAX 方式解析XML

XML 简介 Xml(eXtensible Markup Language) 即可扩展标记语言.提供了一套跨平台.跨网络.跨程序的语言的数据描述方式,使用XML 可以方便地实现数据交换.系统配置.内容管理等常见功能. 元素VS 节点 节点包括元素节点.属性节点.文本节点:元素一定是节点,但是节点不一定是元素: <?xml version="1.0" encoding="UTF-8"?> <emp> <empName empNo=&quo

iOS中的数据解析(XML,JSON),SAX解析,DOM解析

第三方 SAT解析 #import "SAXTableViewController.h" #import "Student.h" @interface SAXTableViewController ()<NSXMLParserDelegate> @property (nonatomic, retain) NSMutableArray *dataSourse; // 存储学生对象 @property (nonatomic, retain) Student