0

我正在使用 NSXMLParser 解析数据。我能够得到解析的数据。但是当我使用 addObject 将它添加到 NSMutableArray 时,该数组为空。我正在使用最新的 Xcode 版本。有人可以帮帮我吗。

我正在处理的数组是 IdentificationTypes1

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{

    if ([elementName isEqualToString:@"Books"]) {
        }

    if ([elementName isEqualToString:@"Book"]) {

        if ([elementName isEqualToString:@"title"]) {

        self.identificationTypes1 =[[NSMutableArray alloc]init];

        }

    }

}

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{

    if (!currentElementValue) {
        currentElementValue =[[NSMutableString alloc]initWithString:string];

    }
    else {
        [currentElementValue appendString:string];

    }


}

-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{

    if ([elementName isEqualToString:@"Books"]) {
        NSLog(@"Count is %@",[identificationTypes1 count]);

        return;
    }
    if ([elementName isEqualToString:@"Book"]) {

    }
    if ([elementName isEqualToString:@"title"]) {
        NSLog(@"Curre value is %@",currentElementValue);
        [self.identificationTypes1 addObject:currentElementValue];


    }

   currentElementValue = nil;

}
4

2 回答 2

0
NSMutabeArray *myArray = [[NSMUtableArray alloc]init];

[myArray addObject:<XML Data>];
于 2012-06-06T21:24:37.400 回答
0

您不能像在 didStartElement 中那样嵌套元素。解析器不允许这样做。自行取出标题并重新测试。您需要创建有条件访问的新变量。

于 2015-01-07T01:25:47.880 回答