如何使用nsxmlparser解析xml文件具有相同的标签名称?

问题描述:

如何使用的NSXMLParser如何使用nsxmlparser解析xml文件具有相同的标签名称?

解析这种类型的XML的
<category> <categoryName> userName</categoryName> <categoryName>password</categoryName><category> 

申报阵列和.h文件的字符串,如:启动解析器使用.m文件

NSMutableArray *aryCategory; 
NSString *strCategroyName; 

NSXMLParser *parser = [[NSXMLParser alloc] initWithData:yourData]; // your data will be instance of NSData or NSMutableData 
parser.delegate = self; 
[parser parse]; 

一旦你得到你的XML数据,这将完成。对于操作而造成的,您可以使用NSXMLParserDelegate如下:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { 
    if ([elementName isEqualToString:@"category"]) { 
      aryCategory = [[NSMutableArray alloc] init]; 
      strCategroyName = @""; 
    } 
} 
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { 
    strCategroyName = [NSString stringWithFormat:@"%@%@", strCategroyName, string]; 
} 

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { 
    if ([elementName isEqualToString:@"categoryName"]) { 
      [aryCategory addObject:strCategroyName]; 
      strCategroyName = @""; 
    } 

}

现在你将有你的数组填充所有的类别名称。

希望这有助于:)

+0

感谢ü非常 – yuvaraj 2012-08-07 11:59:17

<category>didStartdidEnd元件,其解析器的代表。

+0

但类别名称有两个值如何解析 – yuvaraj 2012-08-07 11:10:01

+0

感谢您的回复 – yuvaraj 2012-08-07 11:59:33

+0

您的欢迎:) – IronManGill 2012-08-07 12:34:38