通过网络上的一些资料整理,从零开始实现xml的获取与解析!(通过一个获取天气预报的例子)
1、新建一个项目(最好取消Use Automatic Reference Counting,因为GDataXML中使用了管理内存的消息);
2、从网上下载GDataXML的相关文件(GDataXMLNode.m GDataXMLNode.h)并加入项目;
3、选择项目的Build Settings下的
Search Paths/Header Search Paths 加入 /usr/include/libxml2
Linking/Other Linker Flags加入-lxml2
4、 写程序
NSString* url = [@"http://webservice.webxml.com.cn/WebServices/WeatherWebService.asmx/getWeatherbyCityName?theCityName=南京" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString* xml = [NSString stringWithContentsOfURL:[NSURL URLWithString:url] encoding:NSUTF8StringEncoding error:nil];
GDataXMLDocument* doc = [[GDataXMLDocument alloc]initWithXMLString:xml options:0 error:nil];
// 全部节点取得后显示
NSArray* nodes = [doc.rootElement children];
GDataXMLNode* nod1 = [nodes objectAtIndex:6];
self.lblCurInfo.text = [nod1 stringValue];
nod1 = [nodes objectAtIndex:5];
self.lblCurTemp.text = [nod1 stringValue];
nod1 = [nodes objectAtIndex:13];
self.lblNextInfo.text = [nod1 stringValue];
nod1 = [nodes objectAtIndex:12];
self.lblNextTemp.text = [nod1 stringValue];