ios xml解析

iOS平台XML解析类库对比和安装说明

ε祈祈猫儿з 提交于 2020-03-15 14:52:45
在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢? 解析 XML 通常有两种方式,DOM 和 SAX: DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值。而且通常情况下,可以借助XPath,直接查询XML节点。 SAX解析XML,是基于事件通知的模式,一边读取XML文档一边处理,不必等整个文档加载完之后才采取操作,当在读取解析过程中遇到需要处理的对象,会发出通知对其进行处理。 一般在iOS平台下,比较常用的XML解析类库有如下几种: NSXMLParser, http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html ,这是一个SAX方式解析XML的类库,默认包含在iOS SDK中,使用也比较简单。 libxml2, http://xmlsoft.org/ ,是一套默认包含在iOS SDK中的开源类库

iOS中关于json解析的5中方式

元气小坏坏 提交于 2020-03-07 21:37:13
作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式。 有的json代码格式比较混乱,可以使用 此“http://www.bejson.com/”网站来进行JSON格式化校验( 点击打开链接 )。此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便。 从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization),但是为了兼容以前的ios版本,可以使用第三方库来解析Json。 本文将介绍TouchJson、 SBJson 、JSONKit 和 iOS5所支持的原生的json方法,解析国家气象局API,TouchJson和SBJson需要下载他们的库 TouchJson包下载: http://download.csdn.net/detail/enuola/4523169 SBJson 包下载: http://download.csdn.net/detail/enuola/4523177 JSONKit包下载:http://download.csdn.net/detail/enuola/4523160 下面的完整程序源码包下载:http://download.csdn.net/detail/enuola/4523223 PS: 国家气象局提供的天气预报接口 接口地址有三个: http:/

数据解析

冷暖自知 提交于 2020-03-05 23:09:07
1、相关定义: JSON 作为一种轻量级的数据交换格式,正在逐步取代XML,成为网络数据的通用格式 基于JavaScript的一个子集 易读性略差,编码手写难度大,数据量小 JSON格式取代了XML给网络传输带来了很大的便利,但是却没有了XML的一目了然,尤其是JSON数据很长的时候,我们会陷入繁琐复杂的数据节点查找中 XML 可扩展标记语言 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言 易读性高,编码手写难度小,数据量大 2、JSON格式说明: 对象 {} 格式 {key : value, key : value,...} 的键值对的结构 可以反序列化为OC中的NSDictionary 数组 [] 格式 ["java","javascript","vb",...] 可以反序列化为OC中的NSArray 提示 JSON的数据格式与OC中的快速包装方法非常类似 JSON的数据格式同样支持嵌套 3、 解析服务器端返回JSON数据: 从iOS 5开始,使用NSJSONSerialization对JSON解析 其他常见的三种JSON解析第三方库: SBJson 因为API简单易用,可能还会有一些应用中留存 JSONKit JSONKit的开发者称:JSONKit的性能优于苹果 TouchJson 4

iOS基础 - XML & JSON

半城伤御伤魂 提交于 2020-03-05 23:08:03
一、HTML & XML HTML 是用来描述网页的一种语言 HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (markup language) HTML 被设计用来显示数据 HTML5 是下一代的 HTML 增加了用于绘画的 canvas 元素 用于媒介回放的 video 和 audio 元素等等 XML XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输和存储数据,而非显示数据 二、XML & JSON 简介 JSON 作为一种轻量级的数据交换格式,正在逐步取代 XML ,成为网络数据的通用格式 基于 JavaScript 的一个子集 易读性略差,编码手写难度大,数据量小 JSON 格式取代了 XML 给网络传输带来了很大的便利,但是却没有了 XML 的一目了然,尤其是 JSON 数据很长的时候,我们会陷入繁琐复杂的数据节点查找中 XML 可扩展标记语言 用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言 易读性高,编码手写难度小,数据量大 三、JSON 格式说明 对象: {} 括起来的内容 数据结构为 {key : value,key : value,...} 的键值对的结构 可以反序列化为 OC 中的

JSON和XML

孤街醉人 提交于 2019-12-18 12:40:16
n网络 JSON和XML niOS学院 n李明杰 nJSON n什么是JSON pJSON是一种轻量级的数据格式,一般用于数据交互 p服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) p nJSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : ["jack", "rose", "jim"]} p标准JSON格式的注意点:key必须用双引号 p n要想从JSON中挖掘出具体数据,得对JSON进行解析 pJSON 转换为 OC数据类型 nJSON – OC 转换对照表 nJSON – OC 转换练习 nJSON解析方案 n在iOS中,JSON的常见解析方案有4种 p第三方框架:JSONKit、SBJson、TouchJSON(性能从左到右,越差) p苹果原生(自带):NSJSONSerialization(性能最好) p nNSJSONSerialization的常见方法 pJSON数据 à OC对象 + (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error; pOC对象 à JSON数据 + (NSData *)dataWithJSONObject:(id

数据解析--JSON & XML

ぐ巨炮叔叔 提交于 2019-12-17 08:09:00
>JSON 是一种轻量级的 数据格式 ( 就像文档有 txt 格式 , 有 doc 格式 ,JSON 是数据的一种表现格式 ), 一般用于数据交互 , 服务器返回给客户端的数据 , 一般都是 JSON 格式或者 XML 格式 ( 文件下载除外 , 是文件 ) JSON 的格式很像 OC 中的数组 , 字典 . 标准的 JSON 格式 : key 必须用双引号 , 不推荐单引号 想要从 JSON 中拿到具体的数据 , 需要对 JSON 进行解析 .JSON--->OC > JSON 解析方案 在 iOS 中, JSON 的常见解析方案有 4 种 第三方框架: JSONKit 、 SBJson 、 TouchJSON (性能从左到右,越差) 苹果原生(自带): NSJSONSerialization ( 性能最好 ) NSJSONSerialization 的常见方法 JSON 数据 à OC 对象 + (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error; OC 对象 à JSON 数据 + (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:

iOS - GData解析XML 数据

匿名 (未验证) 提交于 2019-12-02 23:49:02
string数据 NSError *error = nil; GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:[responseObject mj_JSONData] error:&error]; GDataXMLElement *rootElem = [doc rootElement]; NSLog(@" children %@ ",rootElem.children); NSLog(@" childCount %lu ",(unsigned long)rootElem.childCount); /* 打印的数据 children ( "GDataXMLElement 0x600001d3bab0: {type:1 name:string xml:\"<string>1111.pdf</string>\"}", "GDataXMLElement 0x600001d3bae0: {type:1 name:string xml:\"<string2>2222.pdf</string2>\"}" ) */ NSMutableDictionary *mDic = [NSMutableDictionary new]; for (GDataXMLElement *pointElement in rootElem