我需要在这种 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];
}
}
但是对象名称中只设置了一个元素(id1 或 id2)。我做错了什么?
在调试中我得到这个: id1 = @"\n" id2 = @"22014870"