对于xml解析,只想说一句话,千万别用系统自带的解析器,否则,你会死的很惨!
GDataXMLParser是一个对xml具有良好操作的第三方库。解析的方法如下:
步骤:
一、下载GDataXMLParser库,把解压后Source/XMLSupport/下的两个文件:GDataXMLNode.h和GDataXMLNode.m拖到工程中。
一、加入libxml2.dylib框架。
二、设置Search Paths中Header Search Paths为/usr/include/libxml2。
三、在文件中导入头文件:GDataXMLNode.h。
附件是GDataXMLNode.h和GDataXMLNode.m
test.xml
<?xml version="1.0" encoding="utf-8"?>
<list>
<item itemid = 'item1'>
<user itemchild_id = 'user1'>张三</user>
<psw itemchild_id = 'psw1'>123</psw>
</item>
<item itemid = 'item2'>
<user itemchild_id = 'user2'>李四</user>
<psw itemchild_id = 'psw2'>456</psw>
</item>
</list>
解析代码:
NSMutableData *xmlData = [[NSMutableData alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"test" ofType:@"xml"]];
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:xmlData options:0 error:nil];
if (doc) {
NSArray *items = [doc nodesForXPath:@"//list/item" error:nil];
for (GDataXMLElement *item in items) {
//获得item的id
NSLog(@"item.itemid = %@", [item attributeForName:@"itemid"].stringValue);
NSArray *itemchildren = [item children];
for (GDataXMLElement *itemchild in itemchildren) {
NSLog(@"itemchild.Name = %@", itemchild.name);
NSLog(@"itemchild.String = %@", itemchild.stringValue);
//id
NSLog(@"itemchild.itemchild_id = %@", [itemchild attributeForName:@"itemchild_id"].stringValue);
}
NSLog(@"/*******/");
}
}
打印结果:
[img]
[/img]
- 大小: 13.5 KB
分享到:
相关推荐
一款非常不错的解析xml格式的ios工具类,操作简单方便
xml解析的两种常用方式, ...DOM解析:一次性将整个XML文档加载进内存,比较适合解析小文件,例如:GDataXml解析 SAX解析:从根元素开始,按顺序一个元素一个元素往下解析,比较适合解析大文件,例如:NSXMLParser解析
ios开发对XML解析需要用到的第三方类库CDataXML
iOS xml 解析 本来是喜欢用json的,可服务端的那位大神居然搞不出来 他说他是直接返回一串字符串的,是底层给疯装成xml返回的 嗨,累 网上搜了下,有说用sdk自带的NSXMLParse, 有说用google提供的GDataXML, 还有...
前言:本篇随笔介绍的是XML解析。... GDataXML:DOM方式解析,由Google开发,基于libxml2 2-2、苹果原生 NSXMLParser:SAX方式解析,使用简单 2-3、本人基于苹果原生NSXMLParser封装好的XML解析
XML解析与表结合使用
在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢? 解析 XML 通常有两...
GDataXML是Google开发的一个XML解析库,轻便,特点使用非常简单,支持XPath。今天把前两天弄的IOS XML解析记录下来,也供大家参考。
GDataXML-HTML是基于Google的GDataXML的iOS和OSXHTML / XML解析器。 顾名思义,它增加了对libxml2HTMLparser模块的支持,并使您能够处理未验证的XML或HTML。 因此,您可以使用例如XPath来解析具有合理性能的网站 ...
ios开发对XML解析需要用到的第三方类库GDataXML,包含GDataXMLNode.h 、GDataXMLNode.m(备注使用mac压缩承德 文档 归档.zip)
IOS使用GDataXml的例子,例子中得XML文档具有多层,且每一层的标签全部相同的特点