OC1-XML文件解析
<?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: 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 ;
}
OC1-XML文件解析的更多相关文章
- 通过正则表达式实现简单xml文件解析
这是我通过正则表达式实现的xml文件解析工具,有些XHTML文件中包含特殊符号,暂时还无法正常使用. 设计思路:常见的xml文件都是单根树结构,工具的目的是通过递归的方式将整个文档树装载进一个Node ...
- 八、Android学习第七天——XML文件解析方法(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...
- android基础知识13:AndroidManifest.xml文件解析
注:本文转载于:http://blog.csdn.net/xianming01/article/details/7526987 AndroidManifest.xml文件解析. 1.重要性 Andro ...
- Android之AndroidManifest.xml文件解析
转自:Android学习笔记之AndroidManifest.xml文件解析 一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文 ...
- 9.XML文件解析
一.XML简介 XML(EXtensible Markup Language),可扩展标记语言 特点:XML与操作系统.编程语言的开发平台无关 实现不同系统之间的数据交换 作用:数据交互 配置应用程序 ...
- Python实现XML文件解析
1. XML简介 XML(eXtensible Markup Language)指可扩展标记语言,被设计用来传输和存储数据,已经日趋成为当前许多新生技术的核心,在不同的领域都有着不同的应用.它是web ...
- Python3将xml文件解析为Python对象
一.说明 从最开始写javascript开始,我就很烦感使用getElementById()等函数来获取节点的方法,获取了一个节点要访问其子孙节点要么child半天要么就再来一个getElementB ...
- XML文件解析-DOM4J方式和SAX方式
最近遇到的工作内容都是和xml内容解析相关的. 1图片数据以base64编码的方式保存在xml的一个标签中,xml文件通过接口的方式发送给我,然后我去解析出图片数据,对图片进行进一步处理. 2.xml ...
- java基础之概谈xml文件解析
XML已经成为一种非常通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便. 诸多web应用框架,其可配置的编程方式,给我们的开发带来了非常大程度的便捷,但细细 ...
- XML文件解析之JDOM解析
1.JDOM介绍 JDOM的官方网站是http://www.jdom.org/,JDOM解析用到的jar包可以在http://www.jdom.org/dist/binary/中下载,最新的JDOM2 ...
随机推荐
- 怎样用JS来添加CSS样式
方法: document.getElementById("xx").style.xxx中的全部属性是什么 盒子标签和属性对比 CSS语法(不区分大写和小写) JavaScript语 ...
- [Angular 2] Style Angular 2 Components
Each Angular 2 Component can have its own styles which will remained contained inside the component. ...
- Android 动画机制与使用技巧
动画效果一直是人机交互中非常重要的部分,与死板.突兀的显示效果不同,动画效果的加入,让交互变得更加友好,特别是在提示.引导类的场景中,合理地使用动画能让用户获得更加愉悦的使用体验 一.Android ...
- 关于QStringRef
QString 为字符串操作提供了各种成员比如mid().left().right().它们都创建会一个新的字符串,因此有一个对在已存在QString的malloc和深拷贝. 与此相反,QStri ...
- 算法设计 - LCS 最长公共子序列&&最长公共子串 &&LIS 最长递增子序列
出处 http://segmentfault.com/blog/exploring/ 本章讲解:1. LCS(最长公共子序列)O(n^2)的时间复杂度,O(n^2)的空间复杂度:2. 与之类似但不同的 ...
- 架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层
1.概述 前两遍文章中,我们一直在说后文要介绍Nginx + Keepalived的搭建方式.这篇文章开始,我们就来兑现前文的承诺,后续的两篇文章我们将介绍Nginx + Keepalived和 LV ...
- Windows 之 win10快捷键
1.Windows10系统常用快捷键: 1)贴靠窗口(窗口可以变为1/4大小放置在屏幕4个角落):Win +左/右 或 Win +上/下 2)切换窗口:Alt + Tab 3)任务视图(松开键盘界面不 ...
- [Java] webservice soap,wsdl 例子
java 调用webservice的各种方法总结 现在webservice加xml技术已经逐渐成熟,但要真正要用起来还需时日!! 由于毕业设计缘故,我看了很多关于webservice方面的知识,今天和 ...
- nodejs的mysql模块学习(十)连接池集群配置选项
连接池集群选项 canRetry : 如果true ,连接池集群会在连接失败时尝试连接 默认true removeNodeErrorCount : 如果连接失败,节点的errCount增加.当erro ...
- 免费公测:RDS只读实例
免费公测:RDS只读实例 简要介绍 在对数据库有少量写请求,但有大量的读请求的应用场景下,单个实例可能无法抵抗读取压力, 甚至对主流程业务产生影响.为了实现读取能力的弹性扩展,分担数据库压力,阿里 ...