XMLファイルを解析していますが、XMLは次のようになっています。
<List>
<CompanyallProvidersList>
<CityDetails>
<City>NewYork</City>
<Id>1</Id>
</CityDetails>
<StateDetails>
<State>Alabaster</State>
</StateDetails>
<CityDetails>
<City>Newyork</City>
<Id>1</Id>
</CityDetails>
<StateDetails>
<State>California</State>
</StateDetails>
</CompanyallProvidersList>
</List>
私のパーサーコードは次のようなものです。
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if([elementName isEqualToString:@"CompanyallProvidersList"])
{
arr=[[NSMutableArray alloc] init];
drr=[[NSMutableDictionary alloc] init];
}
srr=[[NSMutableString alloc] init];
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
[srr appendString:string];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if([elementName isEqualToString:@"City"])
{
[drr setObject:srr forKey:@"City"];
[srr release],srr=nil;
return;
}
if([elementName isEqualToString:@"Id"])
{
[drr setObject:srr forKey:@"Id"];
[srr release],srr=nil;
return;
}
if([elementName isEqualToString:@"State"])
{
[drr setObject:srr forKey:@"State"];
[srr release],srr=nil;
return;
}
if([elementName isEqualToString:@"CompanyallProvidersList"])
{
[arr addObject:drr];
[drr release],drr=nil;
}
[srr release],srr=nil;
}
私の出力は次のようになります。
NewYork
1
California
しかし、私は出力を次のようにしたいと思います:
NewYork
1
Alabaster
NewYork
1
California
「私はそれを得ることができませんでした..私はどこで間違っているのですか?
助けていただければ幸いです......
ありがとう....