zoukankan      html  css  js  c++  java
  • XML

    【XML语法】
      【1、基本术语】
        标签/节点:
            格式:<节点名> 节点值 </节点名>
                    如:    <root>books</root>   
                                其中root为节点名,books为节点值

              根节点:最外层的节点称为根节点

              子节点:节点中包含的其它节点都称为该节点的子节点,
                                一级子节点也称为直接子节点。
              属性节点:
                    如:<Item key="1" value="报纸"> </Item>
                                 其中 key="1" 为属性节点
                                属性: key="1"
                                属性名:    key  
                                属性值:    "1"
                            
      【2、xpath语法】
                XPath即为XML路径语言,它是一种用来确定XML文档中某部分位置的语    
        言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。
                XPath 使用路径表达式来选取XML文档中的节点或者节点集。这些路径    
        表达式和我们在常规的电脑文件系统中看到的表达式非常相似。路径表达式是
        从一个XML节点(当前的上下文节点)到另一个节点、或一组节点的书面步骤
        顺序。
     【XML解析】
      1.系统类NSXMLParser  比较繁琐
      2.第三方开源库 GData  常用

            底层使用系统的libxml2库, 使用的时候添加libxml2

            (1)导入GData库
            (2)设置头文件搜索路径  
                Build Setting--->header  search Path
                添加   /usr/include/libxml2

            (3)添加libxml二进制库
                Build Phases ---> Link Binary
                添加     libxml2.dylib

            (4)如果是arc的工程
                Build Phases ---> Compile Source File
                    GDataXmlNode.m(非arc的:-fno-objc-arc)

    GData 第三方库 有两种方式解析
    1、获取根节点所有元素   遍历所有的子节点
    2、使用xpath语法
        
    http://10.0.8.8/sns/my/user_list.php?format=xml&page=1&number=100

    GDataXMLNode : NSObject


    //获取当前节点的值
    - (NSString *)stringValue;
    //获取当前节点子节点的个数
    - (NSUInteger)childCount;
    //获取子节点数组
    - (NSArray *)children;
    //根据索引获取子节点
    - (GDataXMLNode *)childAtIndex:(unsigned)index;



    GDataXMLElement : GDataXMLNode


    //根据节点名字获取所有的节点名为name的节点数组
    - (NSArray *)elementsForName:(NSString *)name;
    //获取节点的属性
    - (NSArray *)attributes;
    //根据属性名获取属性节点
    - (GDataXMLNode *)attributeForName:(NSString *)name;



    GDataXMLDocument : NSObject


    //创建文档树
    - (id)initWithData:(NSData *)data encoding:(NSStringEncoding)encoding error:(NSError **)error;
    //获取跟节点
    - (GDataXMLElement *)rootElement;
    //根据xpath 语法 获取 指定的节点数组
    - (NSArray *)nodesForXPath:(NSString *)xpath error:(NSError **)error;

  • 相关阅读:
    webpack
    localStorage使用总结
    html5 的localstorage
    js 的登录验证
    webpack vue2.0项目脚手架生成的webpack文件
    vue2.0 keep-alive最佳实践
    npm 的指令介绍
    vue2.0 子组件和父组件之间的传值
    electron的通信
    electron 的窗口设置最大化 最小化
  • 原文地址:https://www.cnblogs.com/LiRenee/p/5011514.html
Copyright © 2011-2022 走看看