码迷,mamicode.com
首页 > 其他好文 > 详细

xml 数据的 DOM 解析方式

时间:2015-07-20 19:39:43      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:工具   数据   xml   dom解析   

需要使用第三方工具

#import "GDataXMLNode.h"
// 懒加载,使用的时候在进行初始化
// 相对而言的是属性才有懒加载,需要重写getter方法
- (NSMutableArray *)xmlDOMArray
{
    if (_xmlDOMArray == nil) {
        _xmlDOMArray = [NSMutableArray array];
    }
    return _xmlDOMArray;
}
@property (nonatomic, strong) NSMutableArray *xmlDOMArray;
- (IBAction)XMLDOMButtonDidClicked:(UIButton *)sender {
    // 1、拿到 xml 文件的路径
    NSString *path = [[NSBundle mainBundle] pathForResource:@"myData" ofType:@"xml"];

    // 2、根据路径获取文件内容为 NSData 对象
    NSData *data = [[NSData alloc] initWithContentsOfFile:path];

    // 3、根据 data 初始化一个 GDataXMLDocument 对象 先(引入第三方类库并且)
    GDataXMLDocument *xmlDocument = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil];

    // 4、拿到根节点
    GDataXMLElement *rootElement = [xmlDocument rootElement];

    // 5、开始解析
    NSArray *studentArray = [rootElement elementsForName:@"student"];

    for (GDataXMLElement *element in studentArray) {

        // 拿到 name 节点 只有一个节点
        GDataXMLElement *nameElement = [[element elementsForName:@"name"] firstObject];
        // 拿到 sex 节点
        GDataXMLElement *sexElement = [[element elementsForName:@"sex"] firstObject];
        // 拿到 phone 节点
        GDataXMLElement *phoneElement = [[element elementsForName:@"phone"] firstObject];
        // 创建一个modal
        StudentModal *modal = [[StudentModal alloc] init];

        // 取出节点的值
        modal.name = [nameElement stringValue];
        modal.sex = [sexElement stringValue];
        modal.phoneNumber = [phoneElement stringValue];

        // 使用了懒加载,不能用 _xmlDOMArray
        [self.xmlDOMArray addObject:modal];
    }
    for (StudentModal *student in self.xmlDOMArray) {
        NSLog(@"%@, %@, %@", student.name, student.sex, student.phoneNumber);
    }
    [self.xmlDOMArray removeAllObjects];

}

版权声明:本文为outlan原创文章,未经博主允许不得转载。

xml 数据的 DOM 解析方式

标签:工具   数据   xml   dom解析   

原文地址:http://blog.csdn.net/yadong_zhao/article/details/46970727

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!