- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《《iphone xml解析流程》.pdf
iphone xml解析流程
2011-01-17 16:56:57| 分类: MAC相关 阅读242 评论0
字号:大中小
订阅
解析 web Service 的XML 内容一直是一个难点,很多开发者在这一部分都
十分的费力。下面我就我自己写的一个XML 的例子来从头到尾的讲一遍其
相关的内容。
在很多的情况下,一个服务是通过某种网络API暴露的,它规定客户端发
送什么,服务会在响应里发送什么,一般的来说大部分都返回xml格式的
数据。
我们来一个拿个接口实例来说一下: /api/
index.php?page=1test=1wm=b100cid=43
这个一个网络请求地址,当网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:(NSDictionary *)
attributeDict
{
if ([elementName isEqualToString:@item]) //找节点进行解析
{
NSMutableDictionary *newNode = [[NSMutableDictionary alloc]
initWithCapacity:0];
[parserObjectsaddObject:newNode];
twitterDic = newNode;
}
elseif(twitterDic)
{
if ([elementName isEqualToString:@enclosure])
{
//NSLog(@%@,attributeDict);//存到字典下了
if ([[attributeDict valueForKey:@url] hasSuffix:@jpg]) //把encolsuer
下的节点放在字典中
{
[twitterDicsetObject:[attributeDict valueForKey:@url]
forKey:@image];
}
else
{
[twitterDicsetObject:[attributeDict valueForKey:@url]
forKey:@video];
}
}
else
{
NSMutableString *string = [[NSMutableString alloc]initWithCapacity:0];
[twitterDicsetObject:string forKey:elementName];
[string release];
currentText = [[NSStringalloc] init];
currentElementName = elementName;
}
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:( NSString *)
string
{
curre
您可能关注的文档
- 《《Investment Banking Overview》.pdf
- 《《Investment Banking Questions》.pdf
- 《《Investment Immigration for China》.pdf
- 《《Investment Immigration INFO》.pdf
- 《《Investment Philosophies》.pdf
- 《《Investment Policy Implications of the Capital Asset Pricing Model》.pdf
- 《《Investment Related Issues》.pdf
- 《《Investment Summary-An Analysis of the Food and Beverage Industry》.pdf
- 《《Investment_Banking_Panel》.pdf
- 《《investment_notes》.pdf
文档评论(0)