我想将每个元素存储在数组中。喜欢这个链接
在此链接中有多个版块,如Slider,Latest Headlines,Slider1等
有滑块和最新的标题,因此在同一个键缩略图和contentId中我想存储在单独的数组中。
任何人让我知道如何解析它
http://bizfy.com/demo/biscoot/response1.php
<contentResponse>
<slider>
<item>
<thumbNail>http://www.bizfy.com/demo/biscoot/a1.png</thumbNail>
<contentId>img001</contentId>
</item>
<item>
<thumbNail>http://www.bizfy.com/demo/biscoot/a1.png</thumbNail>
<contentId>img002</contentId>
</item>
<item>
<thumbNail>http://www.bizfy.com/demo/biscoot/a1.png</thumbNail>
<contentId>img003</contentId>
</item>
<item>
<thumbNail>http://www.bizfy.com/demo/biscoot/a1.png</thumbNail>
<contentId>img004</contentId>
</item>
<item>
<thumbNail>http://www.bizfy.com/demo/biscoot/a1.png</thumbNail>
<contentId>img005</contentId>
</item>
</slider>
<latestHeadlines>
<item>
<thumbNail>http://www.bizfy.com/demo/biscoot/a2.png</thumbNail>
<heading>SRKs Kashmir NOstalgia</heading>
<shortDescription>
Being in Kashmir has made Shah Rukh Khan nostalgic as the superstar's father always wanted him to visit the valley. "My father's one unfulfilled wish was to bring me to Kashmir because his mom was from here.
</shortDescription>
<views>369</views>
<rating>3</rating>
<contentId>news001</contentId>
</item>
<item>
<thumbNail>http://www.bizfy.com/demo/biscoot/a2.png</thumbNail>
<heading>SRKs Kashmir NOstalgia</heading>
<shortDescription>
Being in Kashmir has made Shah Rukh Khan nostalgic as the superstar's father always wanted him to visit the valley. "My father's one unfulfilled wish was to bring me to Kashmir because his mom was from here.
</shortDescription>
<views>369</views>
<rating>3</rating>
<contentId>news001</contentId>
</item>
<item>
<thumbNail>http://www.bizfy.com/demo/biscoot/a2.png</thumbNail>
<heading>SRKs Kashmir NOstalgia</heading>
<shortDescription>
Being in Kashmir has made Shah Rukh Khan nostalgic as the superstar's father always wanted him to visit the valley. "My father's one unfulfilled wish was to bring me to Kashmir because his mom was from here.
</shortDescription>
<views>369</views>
<rating>3</rating>
<contentId>news001</contentId>
</item>
</latestHeadlines>
</contentResponse>
我想解析这种类型的xml。
请建议我。
由于
答案 0 :(得分:0)
//使用NSXMLParser
NSXMLParser *parser = [[NSXMLParser alloc]initWithContentsOfURL:[NSURL URLWithString:@"YOUR_URL"]];
[parser setDelegate:self];
[parser parse];
//以下是为您提供数据的代表
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
// This delegate is called whenever parser hits the open tag in the xml here i am checking that if current tag is what we are looking for or not if yes then set a bool to gets it value in next delegate
if([elementName isEqualToString:@"slider"]){
getslider = YES; // getslider is a bool which is NO initialy
}
if([elementName isEqualToString:@"latestHeadline"]){
getlatest = YES; // getlatest is a bool which is NO initialy
}
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
//This delegate gives the data for the tag encountered.
if(getslider)
{
[sliderArray addObject:string];//sliderArray a mutablearray which will contains the value of every single tag nested inside slider tag
}
if(getlatest)
{
[latestArray addObject:string]; //same here this will have every thing inside latestHeadline tag.
}
}
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
// This delegate is called whenever parser hit the end tag.
if([elementName isEqualToString:@"slider"]){
getslider = NO;// we encountered the slider end tag.
}
if([elementName isEqualToString:@"latestHeadlines"]){
getlatest = NO; // we encountered the latestHeadlines end tag.
}
}
这会让你有一个关于contentid作为键和缩略图作为值的词典。希望这会给你一个公平的想法,从xml获得你想要的任何东西
答案 1 :(得分:0)
使用TBXML解析XML内容。
http://tbxml.co.uk/
或查看本教程tutorial for NSXML