码迷,mamicode.com
首页 > 其他好文 > 详细

GDataXMLNode解析XML数据详解

时间:2015-04-27 20:07:40      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

解析 XML 通常有两种方式,DOM 和 SAX:
DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值。而且通常情况下,可以借助XPath,直接查询XML节点。
SAX解析XML,是基于事件通知的模式,一边读取XML文档一边处理,不必等整个文档加载完之后才采取操作,当在读取解析过程中遇到需要处理的对象,会发出通知对其进行处理。



1。 引入lib文件:libxml2.dylib
2。 向工程中添加include 步骤:XCode4.3下点击工程,在TARGETS中的Build Setting中的搜索框中输入head,找到Header Search Paths 并向其添加/usr/include/libxml2
3。拷贝GDataXMLNode.h、GDataXMLNode.m文件到工程下
4。添加头文件GDataXMLNode.h 并加上< NSURLConnectionDataDelegate, NSURLConnectionDelegate>
5。在viewDidLoad方法中:
//存请求的数据对象
self.mutableArray=[[NSMutableArray alloc]init];

NSString *path=@“带http的网址”;
NSURLRequest *request=[[NSURLRequest alloc]initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:15];  
[NSURLConnection connectionWithRequest:request delegate:self];
  [request release];

6。-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{  
              NSMutableData *data=[[NSMutableData alloc]init];
              self.receivedData=data;
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
             [self.receivedData appendData:data];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
              GDataXMLDocument *document=[[GDataXMLDocument alloc]initWithData:self.receivedData options:0 error:nil];                                   GDataXMLElement *root=[document rootElement];
              NSArray *array=[root elementsForName:@"news"];
           for (GDataXMLElement *element in array) {
                       GDataXMLElement *title1=[element elementsForName:@"title"].lastObject;
                       GDataXMLElement *time1=[element elementsForName:@"time"].lastObject;
                       GDataXMLElement *ID1=[element elementsForName:@"id"].lastObject;
                       News *news=[[News alloc]init];
                       news.title=[title1 stringValue];
                       news.time=[time1 stringValue];
                       news.newsID=[ID1 stringValue];  
                       [self.mutableArray addObject:news];  
                }  
}

GDataXMLNode解析XML数据详解

标签:

原文地址:http://www.cnblogs.com/huangzs/p/4461038.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!