このような種類の xml で複数の要素 (id1 と id2) を解析する必要があります。
<name> <id1>104634449</id2> <id2>22014870</id2> </name> <name> <id1>104634433</id2> <id2>220143210</id2> </name>
私はそのようなコードを使用します:
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI: (NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
isName = [elementName isEqualToString:@"name"];
isId1 = [elementName isEqualToString:@"id1"];
isId2 = [elementName isEqualToString:@"id2"];
if(isName){
name = [Name new];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if (isName){
[names addObject:name];
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
if (isId1){
[name setId1:string];
}
if (isId2){
[name setId2:string];
}
}
ただし、オブジェクト名には 1 つの要素 (id1 または id2) のみが設定されます。私は何を間違っていますか?
デバッグでは、次のようになります: id1 = @"\n" id2 = @"22014870"