`

【IOS开发】GDataXML解析XML

    博客分类:
  • ios
 
阅读更多
对于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
分享到:
评论

相关推荐

    GdataXml(IOS) 解析xml

    一款非常不错的解析xml格式的ios工具类,操作简单方便

    ios-iOS xml解析.zip

    xml解析的两种常用方式, ...DOM解析:一次性将整个XML文档加载进内存,比较适合解析小文件,例如:GDataXml解析 SAX解析:从根元素开始,按顺序一个元素一个元素往下解析,比较适合解析大文件,例如:NSXMLParser解析

    ios GDataXML

    ios开发对XML解析需要用到的第三方类库CDataXML

    ios_XML_解析

    iOS xml 解析 本来是喜欢用json的,可服务端的那位大神居然搞不出来 他说他是直接返回一串字符串的,是底层给疯装成xml返回的 嗨,累 网上搜了下,有说用sdk自带的NSXMLParse, 有说用google提供的GDataXML, 还有...

    iOS开发使用XML解析网络数据

    前言:本篇随笔介绍的是XML解析。... GDataXML:DOM方式解析,由Google开发,基于libxml2  2-2、苹果原生  NSXMLParser:SAX方式解析,使用简单  2-3、本人基于苹果原生NSXMLParser封装好的XML解析

    ios-XML解析.zip

    XML解析与表结合使用

    iOS开发中常见的解析XML的类库以及简要安装方法

    在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢? 解析 XML 通常有两...

    iOS开发使用GDataXML框架解析网络数据

    GDataXML是Google开发的一个XML解析库,轻便,特点使用非常简单,支持XPath。今天把前两天弄的IOS XML解析记录下来,也供大家参考。

    GDataXML-HTML:适用于iOS和OSXHTML和XML解析器,支持XPath

    GDataXML-HTML是基于Google的GDataXML的iOS和OSXHTML / XML解析器。 顾名思义,它增加了对libxml2HTMLparser模块的支持,并使您能够处理未验证的XML或HTML。 因此,您可以使用例如XPath来解析具有合理性能的网站 ...

    GDataXML类

    ios开发对XML解析需要用到的第三方类库GDataXML,包含GDataXMLNode.h 、GDataXMLNode.m(备注使用mac压缩承德 文档 归档.zip)

    iOSGDataXML 解析多层相同节点例子

    IOS使用GDataXml的例子,例子中得XML文档具有多层,且每一层的标签全部相同的特点

Global site tag (gtag.js) - Google Analytics