iOS XML解析使用-韩国庆

欢迎-------(北京-iOS移动开发金牌教师QQ:2592675215)韩老师给你带来XML解析课程

今天给大家讲解下xml解析的第三方简单用法;首先我解释下,json和xml解析格式。

JSON格式,轻量级解析,一般都是字典套数组,或者数组套字典。非常简单。

XML格式,一般都是节点形式的存在如:

<?xml version="1.0" ?>

<students>

    <student name="aa" gender="" age="22"/>

    <student name="bb" gender="" age="23"/>

    <student name="cc" gender="" age="24"/>

</students>

那么我解释下上面的这段xml格式。

1.<?xml version="1.0" ?>首先这是声明,xml声明这一点是规定的,当然如果你是做前端的不必要在乎这些,这是后端服务器的任务。

2.<students>是节点,一个xml里面未必存在一个节点,也许会有多个,每个节点里面的子节点都是当前节点的需求

3.<student name="aa" gender="" age="22"/>子节点,前面说了<students>是节点,<student name="aa" gender="" age="22"/>是子节点。

这里我讲解是第三方GDataXML用法

那么我们就针对上面的xml格式去解析它。下面咱们看下怎么去做。

首先切记导入你相应的第三方文件;

NSData *data...............从服务器返回过来的数据

    

    GDataXMLDocument *doc=[[GDataXMLDocument alloc] initWithData:data options:0 error:nil];

    GDataXMLElement *root=doc.rootElement;//students;获取根节点

    

    ****这里的root.children:students节点的所有子节点:

    for (GDataXMLElement *student in root.children) {

        WYStudent *stu=[[WYStudent alloc] init];

        

        GDataXMLNode *name=student.attributes[0];//获取第一个属性

        stu.name=[name stringValue];//获取属性保存的数据

        

        GDataXMLNode *gender=student.attributes[1];

        stu.gender=[gender stringValue];

        

        GDataXMLNode *age=student.attributes[2];

        stu.age=[age stringValue];

        

        [self.studentArr addObject:stu];这里我利用了模型,mvc开发模式。丢给模型后又丢给了数组

    }

这时你就可以拿取数组里的数据了。这里说下,现在第三方解析xml,很多种。选择适合自己一种就ok。当然多学习其他类型更好。我会找个时间再给大家更新利用其他第三方解析xml的相关文档。请你敬请等待。

 

原文地址:https://www.cnblogs.com/hanguoqing/p/4983690.html