iox xml解析器使用NSXMLParser转义

时间:2014-07-23 01:25:25

标签: ios xml nsxmlparser

我尝试使用ios nsxmlparser来解析xml内容,但是要返回响应的服务器,而不是 元素风格,只是<和> 例如, < NewDataSet>         <表> 你好  < /表>             < / NewDataSet> 我想得到内容的表元素,你好,但是nsxmlparser没有调用表的startELement。

1 个答案:

答案 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];
 }