请记住,NSXMLParser 是类似 SAX 的基于事件的解析器,您必须设置解析器、启动它并侦听关键事件。
设置解析器:
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
[parser setDelegate:self];
[parser parse];
覆盖这些方法:
– parser:didStartElement:namespaceURI:qualifiedName:attributes:
– parser:didEndElement:namespaceURI:qualifiedName:
– parser:foundCharacters:
您的功能必须基本上说:
-(void)parser: didStartElement:(NSString *) namespaceURI:(NSString *) qualifiedName:(NSString *) attributes:(NSDictionary *)
[elementName isEqualToString:@"status"]
- (void)parser:(NSXMLParser *) foundCharacters:(NSString *)
...
[<your statusValueHolder as NSMutableString> appendString:<foundCharacters' parameter>]
...
您可以对另一种情况应用相同的逻辑(搜索名为“record”的标签的第一个开始,在到达标签末尾时中止,名为“record”等)
看看这个并在家里尝试一下:让 NSXMLParser 你的朋友..另请参阅 NSXMLParser 的 API 参考文档以获取 NSXMLParser 委托的其他委托方法。