【发布时间】:2013-08-28 20:37:29
【问题描述】:
我试图解析子类别的子数据并显示它,但只会显示父类别的相关子类别。我成功解析了父元素的数据,但我在如何解析子元素时遇到了问题。
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if([elementName isEqualToString:@"category"]){
dataCurrent = [dataFileHolder alloc];
}
}
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
currentList = [[NSMutableString alloc] initWithString:[string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]];
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
if([elementName isEqualToString:@"name"]){
dataCurrent.nameOfCat = currentList;
}
if ([elementName isEqualToString:@"description"]){
dataCurrent.descriptionOfCat = currentList;
}
if ([elementName isEqualToString:@"image"]) {
dataCurrent.imageLink = currentList;
}
if ([elementName isEqualToString:@"category"]) {
[listPopulated addObject:dataCurrent];
dataCurrent = nil;
currentList = nil;
}
}
XML文件是这样的
<category>
<name>Food</name>
<description>food description</description>
<image> Link Here </image>
<sub_cat>
<sub_name>Sub name</sub_name>
<sub_desc>sub cat description</sub_desc>
<sub_image> Link </sub_image>
</sub_cat>
<sub_cat>
<sub_name>Sub name</sub_name>
<sub_desc>sub cat description</sub_desc>
<sub_image> Link </sub_image>
</sub_cat>
</category>
我一直在研究Event Driven XML Parsing 并且还从其中一个线程xml-parse-only-certain-child-elements 中找到了一个 gud 参考,但最后我仍然对 XML 和解析内容感到困惑。我可能需要一个更浅的术语。并且想知道如何做我的解析部分。
【问题讨论】:
标签: ios objective-c xml parsing nsxmlparser