Gdataxml解析
周博达
2023-12-01
用了 GDATAXML 应该没多大区别 反正能解析就行了
第一步: 选中文件列表最上方的工程名 然后点TARGETS 里面的工程名 然后点Build Phase
然后点Link Binary With Libraries 然后点下面的加号 搜索 xml 然后添加libxml2.dylib
第二步: 还在工程属性界面 搜索 Header Search Paths 然后添加值 /usr/include/libxml2
第三步:将GDATAXMLNODE.H 和 .m文件添加到工程里
第四步:获得webdata
第五步:假设得到的webdata是这样的
<Party>
<Player>
<Name>Butch</Name>
<Level>1</Level>
<Class>Fighter</Class>
</Player>
<Player>
<Name>Shadow</Name>
<Level>2</Level>
<Class>Rogue</Class>
</Player>
</Party>
那么搜寻xpath //Party/Player
最终解析程序如下
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:webData options:0 error:nil];
NSArray *items = [doc nodesForXPath:@"//Party/Player" error:nil];
for (GDataXMLElement *item in items) {
NSArray *names = [item elementsForName:@"name"];
for(GDataXMLElement *name in names) {
NSLog(@"姓名 %@",name.stringValue) ;
break;
}
NSArray *levels = [item elementsForName:@"level"];
for(GDataXMLElement *level in levels) {
NSLog(@"等级 %@",level.stringValue) ;
break;
}
NSArray *classes = [item elementsForName:@"class"];
for(GDataXMLElement *class in classes) {
NSLog(@"类别 %@",class.stringValue) ;
break;
}
}
后面自己release 就行了