<?xml version = "1.0" encoding="utf-8"?>
<Users>
<User id="001">
<name>Ryan
</name>
<age>24
</age>
</User>
<User id ="002">
<name>Tang
</name>
<name>xiaohei
</name>
<age>23
</age>
</User>
</Users>
//
// main.m
// OC1-XML文件解析
//
// Created by qianfeng on 15/6/25.
// Copyright (c) 2015年 qianfeng. All rights reserved.
//
#import <Foundation/Foundation.h>
#import "GDataXMLNode.h"
//xml 由xml文档头(文档头 <? ?>包含) 文档的主体
//1.添加libxml2.dylib库(系统库), 在bulid Phases中添加二进制库 (在link Binary With libraries 选项)
//2.在bulid Setting中 添加头文件路径, search paths 下的 header search paths -->/usr/include/libxml2
//3.添加GDataXMLNode库(第三方库) arc mrc 混合编程 (在bulid Phases下 complie sources GDataXMLNode.m 文件) -fno-objc-arc
//
int main(
int argc,
const char *
argv[]) {
@autoreleasepool {
NSData *xmlData =[NSData dataWithContentsOfFile:
@"/Users/qianfeng/Desktop/text/text/untitled folder/内存管理/OC1-XML文件解析/en.lproj/users.xml"];
//创建document对象
GDataXMLDocument *document =[[GDataXMLDocument alloc] initWithData:xmlData options:
0 error:nil];
//获取文件的根节点
//GDataXMLElement *rootElement =[GDataXMLElement elementWithName:@"Users"];//获取xml的一个节点.
GDataXMLElement *rootElement =[document rootElement];
//获取XML文件的根节点.
NSArray *users =[rootElement elementsForName:
@"User"];
//NSLog(@"users=%@",users);
//GDataXMLElement *user 节点 形式 存放在users数组中
for (GDataXMLElement *user
in users) {
NSString *ID =[[user attributeForName:
@"id"] stringValue];
NSLog(@"id =%@",ID);
// <User id ="002">
// <name>Tang</name>
// <name>xiaohei</name>
// <age>23</age>
// </User>
NSString *name =[[[user elementsForName:
@"name"] firstObject] stringValue];
NSLog(@"name = %@",name);
NSString *age =[[[user elementsForName:
@"age"] firstObject] stringValue];
NSLog(@"age = %@",age);
}
}
return 0;
}
转载于:https://www.cnblogs.com/0515offer/p/4599575.html