我尝试使用ios nsxmlparser来解析xml内容,但是要返回响应的服务器,而不是 元素风格,只是<和> 例如, < NewDataSet> <表> 你好 < /表> < / NewDataSet> 我想得到内容的表元素,你好,但是nsxmlparser没有调用表的startELement。
答案 0 :(得分:0)
您应该覆盖NSXMLParser。请尝试以下代码。
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Initialization code here.
}
return self;
}
- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
if([elementName isEqualToString:@"NewDataSet"]) {
NSLog(@"Entry into NewDataSet");
}else if([elementName isEqualToString:@"Table"])
{
NSLog(@"Entry into Table");
}
}
- (void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
result = string;
}
- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
}
- (void)getResult{
NSString * xmlstr=@"<NewDataSet> <Table> hello </Table> </NewDataSet>";
NSData* xmldata= [xmlstr dataUsingEncoding:NSUTF8StringEncoding];
NSXMLParser *m_parser = [[NSXMLParser alloc] initWithData:xmldata];
[m_parser setDelegate:self];
BOOL flag = [m_parser parse];
}