iphone xml 解析流程
解析 web Service 的 XML 内容一直是一个难点,很多开发者在这一部分都十分的费力。下
面我就我自己写的一个
XML 的例子来从头到尾的讲一遍其相关的内容。
在很多的情况下,一个服务是通过某种网络 API 暴露的,它规定客户端发送什么,服务
会在响应里发送什么,一般的来说大部分都返回
xml 格式的数据。
我们来一个拿个接口实例来说一下:
这个一个网络请求地址,当网 web Sevice 发送这样的一个请求的时候返回的是这样的一
个
xml 的数据:
上面的代码是 connection 的代理方法,很容易的看出来 twitterData 里就是我们取得的
XML 数据,就是我们后面要解析的东西。[self startTwitterParser]这个方法被调用就是要正式
的解析
XML 数据了,如下:
//开始对返回的 data 进行解析————
-(void)startTwitterParser
{
NSXMLParser *parser =[[NSXMLParser alloc]initWithData:twitterData];
parser.delegate = self;
[parser parse];
[parser release];
}
然后就是难点了-如何解析出你想要的内容。
#pragma mark NSXMLParserDelegate--->
- (void)parserDidStartDocument:(NSXMLParser *)parser
{
twitterDic= [[NSMutableDictionary alloc] initWithCapacity:0];//每一条信息都用字典来存;
parserObjects= [[NSMutableArrayalloc]init];//每一组信息都用数组来存,做后得到的数据就
在这个数组中
}
-
(void)parser:(NSXMLParser
*)parser
didStartElement:(NSString
*)elementName
namespaceURI:(NSString*)namespaceURI
qualifiedName:(NSString
*)qName
attributes: