美文网首页
XML数据结构分析

XML数据结构分析

作者: 江湖闹士 | 来源:发表于2020-10-23 07:43 被阅读0次
/*
 解析的概念:按照约定好的格式提取数据的过程
 该过程中涉及到的两类人:
 提供数据方(后台):按照约定好的格式进行数据存储
 数据提取方(使用数据的人):按照约定好的格式进行数据的提取

 当今流行的数据存储格式:XML和JSON
XML:
 <lanou22>(开始标签)
 </lanou22>(结束标签)
 两者统称为节点
 */
XML数据的特点
 (1)XML是由成对的标签组成的,每一对标签都是由开始标签和结束标签组成,这对标签我们称为节点
 (2)节点可以有父节点(该节点的外层节点),子节点(该节点的内层节点)。没有父节点的节点叫做根节点,没有子节点的节点叫做叶节点
 (3)节点可以用来存储数据(注意:进行数据解析时我们需要找到叶节点,因为数据存储在叶节点)
//**************************************************
SAX解析:是一种基于事件回调的解析机制,将XML数据逐行读入内存并且进行解析。SAX解析适用于大数据解析。系统提供的解析方式就是基于SAX解析
(<这个方法名是视情况而定的,重要的是内容!而且实现第5步,需要遵从NSXMLParserDelegate代理>)
- (void)parserAction:(UIBarButtonItem *)item{
    //1:获取XML数据的文件路径
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"XMLData" ofType:@"xml"];
    //2:根据文件路径读取XML文件中的数据并转换成NSData
    NSData *xmlData = [NSData dataWithContentsOfFile:filePath];
    //3:创建数据解析器对象
    NSXMLParser *parser = [[NSXMLParser alloc] initWithData:xmlData];
    //4:指定代理对象
    parser.delegate = self;
    //6:启动解析器开始解析
    [parser parse];
}
//5:几个协议方法的实现
//当解析开始的时候调用
- (void)parserDidStartDocument:(NSXMLParser *)parser {
    NSLog(@"解析开始");
}
//当应用程序解析到开始标签的时候调用
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
    NSLog(@"开始标签:%@",elementName);
}
//当解析到开始标签后面的数据的时候调用
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {
    NSLog(@"读数据:%@",string);
}
//当应用程序解析到结束标签的时候调用
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {
    NSLog(@"结束标签:%@",elementName);
}
//当解析结束的时候调用
- (void)parserDidEndDocument:(NSXMLParser *)parser {
    NSLog(@"解析结束");
}
//***********************************************************

相关文章

网友评论

      本文标题:XML数据结构分析

      本文链接:https://www.haomeiwen.com/subject/gvzumktx.html