XML解析
2015-07-22 21:44
218 查看
XML解析
Json解析
节点、属性、值
根节点、父节点、子节点
XML解析中要用到一个类GDataXMLDocument:
GDataXMLDocument
*
root
=
[[GDataXMLDocument
alloc]
initWithXMLString:content
options:0
error:nil];
利用rootElement这个方法获取根节点:
GDataXMLElement
*
rootEle
=
[root
rootElement];
节点下的子节点类型是数组类型:
NSArray
* booksArr
= [rootEle
elementsForName:@"books"];
以上是获取节点的一种方式,还有另一中方式:XPath语法/解析。两种方式读取数据方式是相同的。
XPath解析可以更方便地获取指定目录下的节点:
NSArray
*
foodArr
=
[doc
nodesForXPath:@"/breakfast_menu/food"
error:nil];
注意:在做XML解析之前要做一下准备工作:
前期准备工作:(-fno-objc-arc)
4.2.1 将三方库文件 GDataXMLNode.h和GDataXMLNode.m 添加进工程;
4.2.2 选中项目,添加 libxml2.dylib
4.2.3 选中项目,选中“Build Setting”,顶部标签切换到“All”
4.2.4 找到“Paths\Header Search Paths”项,并添加“/usr/include/libxml2”到列表中
4.2.5 找到“Linking\Other Linker Flags”项,并添加“-lxml2”到列表中
4.2.6 在需要调用GDataXML的代码文件头部,加入:#import “GDataXMLNode
Json解析
节点、属性、值
根节点、父节点、子节点
XML解析中要用到一个类GDataXMLDocument:
GDataXMLDocument
*
root
=
[[GDataXMLDocument
alloc]
initWithXMLString:content
options:0
error:nil];
利用rootElement这个方法获取根节点:
GDataXMLElement
*
rootEle
=
[root
rootElement];
节点下的子节点类型是数组类型:
NSArray
* booksArr
= [rootEle
elementsForName:@"books"];
以上是获取节点的一种方式,还有另一中方式:XPath语法/解析。两种方式读取数据方式是相同的。
XPath解析可以更方便地获取指定目录下的节点:
NSArray
*
foodArr
=
[doc
nodesForXPath:@"/breakfast_menu/food"
error:nil];
注意:在做XML解析之前要做一下准备工作:
前期准备工作:(-fno-objc-arc)
4.2.1 将三方库文件 GDataXMLNode.h和GDataXMLNode.m 添加进工程;
4.2.2 选中项目,添加 libxml2.dylib
4.2.3 选中项目,选中“Build Setting”,顶部标签切换到“All”
4.2.4 找到“Paths\Header Search Paths”项,并添加“/usr/include/libxml2”到列表中
4.2.5 找到“Linking\Other Linker Flags”项,并添加“-lxml2”到列表中
4.2.6 在需要调用GDataXML的代码文件头部,加入:#import “GDataXMLNode
相关文章推荐
- 51-android.rules详解
- iOS本地国际化处理自己封装好的宏
- ios结构体
- iOS开发入门教程 iPhone开发相关学习资料
- 数据库设计(二)——数据类型
- 说说nio----1
- 2015 多校赛 1002 (hdu 5289)
- 说说nio----1
- 2015年7月21日
- 暑假集训第二周——递推 骆驼猜名字
- Problem B 队列
- 队列 Soldier and Cards
- 数据成员的存取与布局
- 【云快讯】之五十二《华为的公有云即将发布,名字还是个谜》
- c/C++程序内存分配方式
- 5.非关系数据库(Nosql)它mongodb:创建一个集合,导出和导入备份, 数据恢复,进出口
- HDU 1010 Temper of the bone(深搜+剪枝)
- Android 底部菜单配合listview的问题
- NGUI中使用UIGrid时出现cell重叠解决办法
- iPhone 6s或将于9月发布,这些新功能打动你了么?