【发布时间】:2014-10-26 19:25:41
【问题描述】:
所以我有一个 XML 文件,其中包含来自许多对象实例的数据。我正在解析这个文件,但只想要元素标签“内容”的数据
我使用的是NSXMLParser,所以我有parserDidStartDocument、didStartElement、foundCharacters和didEndElement的方法
这是我目前的实现
在标题中:
@property (strong) NSMutableArray* AssetJSONObjects;
实施中:
嘘
l grabContent = NO;
- (void) parserDidStartDocument:(NSXMLParser *)parser {
NSLog(@"parserDidStartDocument");
self.AssetJSONObjects = [NSMutableArray new];
}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
NSLog(@"didStartElement --> %@", elementName);
if([elementName isEqual:@"Content"])
{
grabContent = YES;
}
}
-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
NSLog(@"foundCharacters --> %@", string);
if(grabContent)
{
[self.AssetJSONObjects addObject:string];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
NSLog(@"didEndElement --> %@", elementName);
if(grabContent)
{
grabContent = NO;
}
}
- (void) parserDidEndDocument:(NSXMLParser *)parser {
NSLog(@"parserDidEndDocument");
}
所以这是我的问题:我声明/初始化我的数组 AssetJSONObjects 的方式合法吗?我初始化 bool grabContent 的方式合法吗?有没有更好的方法从特定标签中获取数据?
【问题讨论】:
标签: objective-c cocoa parsing xml-parsing