GDataXMLNode解析xml文件
发布时间:2020-12-16 05:18:51 所属栏目:百科 来源:网络整理
导读:转载请标明出处 欢迎交流 zltqzj@163.com 我是一个单线程妞~ NSString* path = [[NSBundle mainBundle] pathForResource:@"StudentXML" ofType:@"xml"]; NSData* data = [[NSData alloc] initWithContentsOfFile:path]; GDataXMLDocument* doc = [[GDataXML
转载请标明出处 欢迎交流 zltqzj@163.com 我是一个单线程妞~
NSString* path = [[NSBundle mainBundle] pathForResource:@"StudentXML" ofType:@"xml"]; NSData* data = [[NSData alloc] initWithContentsOfFile:path]; GDataXMLDocument* doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil]; GDataXMLElement* root = [doc rootElement];//所有内容 // 取标签中的内容方法:1,路径。2,childAtIndex //(1)路径 NSArray* fistName = [root nodesForXPath:@"//student/name/fistName" error:nil];// 所t有标签为fistName的元素。 NSLog(@"1:%@",[[fistName objectAtIndex:1] stringValue]); // (2)childAtIndex GDataXMLNode* lastName = [[[root childAtIndex:1] childAtIndex:0] childAtIndex:1]; NSLog(@"2:%@",[lastName stringValue]); 代码下载地址:http://download.csdn.net/detail/sijiazhentan/6270435
解析稍微复杂的页面:http://api.hudong.com/iphonexml.do?type=focus-c 代码如下: #import "ViewController.h" @interface ViewController () @end @implementation ViewController @synthesize recieveData = _recieveData; - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self; } - (void)viewDidLoad { [super viewDidLoad]; NSURL* url = [NSURL URLWithString:@"http://api.hudong.com/iphonexml.do?type=focus-c"]; NSURLRequest* request = [NSURLRequest requestWithURL:url]; [NSURLConnection connectionWithRequest:request delegate:self]; // Do any additional setup after loading the view from its nib. } - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response { _recieveData = [[NSMutableData alloc] init]; } - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data { [self.recieveData appendData:data]; } - (void)connectionDidFinishLoading:(NSURLConnection *)connection { NSString* str = [[NSString alloc] initWithData:self.recieveData encoding:NSUTF8StringEncoding]; _recieveData = nil; GDataXMLDocument* doc = [[GDataXMLDocument alloc] initWithXMLString:str options:0 error:nil]; GDataXMLElement* root = [doc rootElement]; NSArray* array =[root nodesForXPath:@"//response/docList/docInfo" error:nil]; for (int i =0; i<array.count; i++) { NSLog(@"每项内容的题目:%@",[[[[array objectAtIndex:i] elementsForName:@"docTitle"] objectAtIndex:0] stringValue] ); } _recieveData = nil; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |