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];// 创建一个modalStudentModal *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];}

,要知道,当你一直在担心错过了什么的时候,

xml 数据的 DOM 解析方式

相关文章:

你感兴趣的文章:

标签云: