XML、JSON数据结构解析

一、XML的解析

XML的解析分为SAX解析和DOM解析,DOM解析又分为根节点解析和叶子节点解析。

1.SAX解析步骤

a.获取XML数据存储的文件路径(假如XML文件为Students.xml)

    NSString *filePath = [[NSBundle mainBundle]pathForResource:@"Students" ofType:@"xml"];

 b.创建解析对象

    //创建二进制数据对象

    NSData *data = [NSData dataWithContentsOfFile:filePath];

    NSXMLParser *parser = [[NSXMLParser alloc]initWithData:data];

c.设置代理人

   parser.delegate = self;

d .开始解析

    [parser parse];

e.释放所有权

    [parser release];

2.需要实现NSXMLParserDelegate代理的方法

//当开始解析的时候调用

- (void)parserDidStartDocument:(NSXMLParser *)parser;

//当结束解析的时候调用

- (void)parserDidEndDocument:(NSXMLParser *)parser;

//该方法单个读取到开始标签的时候调用

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {

    /*

     elementName:标签的名字

     namespaceURI:标签前缀的唯一标识(不经常使用)

     qName:标签的前缀

     attributeDict:存储标签属性的内容

     */

    }

//该方法单个读取到结束标签的时候调用

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName ;

//当读取到标签之间的数据的时候调用

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string ;

 

posted @ 2015-08-12 20:50  i清晨  阅读(314)  评论(0编辑  收藏  举报