zoukankan      html  css  js  c++  java
  • 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 ;

  • 相关阅读:
    Unix环境高级编程—进程关系
    如何学习CCIE
    Unix环境高级编程—进程控制(三)
    Unix环境高级编程—进程控制(二)
    _THROW 何解?
    Unix高级环境编程—进程控制(一)
    ifndef/define/endif 和 #ifdef 、#if 作用和用法
    内存MCE错误导致暴力扩充messages日志 以及chattr记录
    Intellij IDEA的安装和激活
    Xshell和Xftp间隔一段时间不操作就自动断开连接?
  • 原文地址:https://www.cnblogs.com/zyqc/p/4725517.html
Copyright © 2011-2022 走看看