background image

 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: