基本XML解析---编写
#import "DDXML.h"
@interface ViewController ()
@end
@implementation ViewController
/*
解析XML:开源框架:KissXML 依赖:libxml2.2.dylib(项目配置-->General-->Linked Frameworks and Libraries-->点击+号-->输入libxml2.2.dylib-->add)
如果使用libxml2.2.dylib,则需要在header search path中添加路经:(Build Settings --> Search Paths --> Header Search Paths中添加/usr/include/libxml2-->回车)
*/
- (void)viewDidLoad {
[super viewDidLoad];
//1.组装XML
[self builXML];
//2.解析XML
//解析XML的方式:
//DOM: 当前标签量少的时候
//SAX: 当前标签量大的时候
[self parseXML];
}
/**
<movie country="USA" > // 主标签:属性:country:USA
<title>X战警</title> //子标签title: X战警
<actor>Bob Dylan</actor> //子标签 actor: Bob Dylan
</movie>
*/
//组装XML
- (void)builXML {
//1.创建标签
DDXMLElement *element = [DDXMLElement elementWithName:@"movie"];
//设置属性
DDXMLDocument *document = [DDXMLDocument attributeWithName:@"country" stringValue:@"USA"];
[element addAttribute:document];
//2.添加子标签
DDXMLDocument *title = [DDXMLDocument elementWithName:@"title" stringValue:@"X战警"];
DDXMLDocument *actor = [DDXMLDocument elementWithName:@"actor" stringValue:@"Bob Dylan"];
[element addChild:title];
[element addChild:actor];
// NSLog(@"element:%@",element);
}
- (void)parseXML {
//获取
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"file.xml" ofType:nil];
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSLog(@"%@",doc);
//xml文件中所有的价格
// NSString *xpath = @"/catalog//price";
//同上
// NSString *xpath = @"/catalog/*/price";
// cd下的所有内容
NSString *xpath = @"//*";
NSArray *arr = [doc nodesForXPath:xpath error:nil];
NSLog(@"--%@",arr);
for (DDXMLElement *element in arr) {
NSLog(@"%@",element.stringValue);
<catalog>
<cd1 country="USA">
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<price>10.90</price>
</cd1>
<cd2 country="UK">
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<price>9.90</price>
</cd2>
<cd3 country="USA">
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<price>9.90</price>
</cd3>
基本XML解析---编写的更多相关文章
- XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax
本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...
- 使用由 Python 编写的 lxml 实现高性能 XML 解析
lxml 简介 Python 从来不出现 XML 库短缺的情况.从 2.0 版本开始,它就附带了 xml.dom.minidom 和相关的 pulldom 以及 Simple API for XML ...
- 【Android】实现XML解析的几种技术
本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能. 在 ...
- iOS开发——网络篇——JSON和XML,NSJSONSerialization ,NSXMLParser(XML解析器),NSXMLParserDelegate,MJExtension (字典转模型),GDataXML(三方框架解析XML)
一.JSON 1.JSON简介什么是JSONJSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典 ...
- JAVA基础学习之XMLCDATA区、XML处理指令、XML约束概述、JavaBean、XML解析(8)
1.CDATA区在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理.遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直 ...
- 【Java】XML解析之DOM
DOM介绍 DOM(Document Object Model)解析是官方提供的XML解析方式之一,使用时无需引入第三方包,代码编写简单,方便修改树结构,但是由于DOM解析时是将整个XML文件加载到内 ...
- iOS -数据库网络之xml解析之远程解析XML
1.IOS中XML文件获取 //设置远程访问地址 NSURL *url=[NSURL URLWithString:@""]; //创建动态URL请求,并初 ...
- iOS -数据库网络之xml解析
XML文件有2种解析方式 1.基于文档(document) 2.基于事件(sax) 1.IOS中XML文件获取 首先要将XML导入工程中 在ViewController的按钮事件中,代码如下: ...
- Android中的三种XML解析方式
在Android中提供了三种解析XML的方式:SAX(Simple API XML),DOM(Document Objrect Model),以及Android推荐的Pull解析方式.下面就对三种解析 ...
随机推荐
- 转:union和union all的区别
Union因为要进行重复值扫描,所以效率低.如果合并没有刻意要删除重复行,那么就使用Union All 两个要联合的SQL语句 字段个数必须一样,而且字段类型要“相容”(一致): 如果我们需要将两个 ...
- 【译】RabbitMQ:路由(Routing)
在前一篇中,我们构建了一个简单的日志系统,我们已经能够广播消息到许多的接收者.在这一篇中,我们希望增加一个特性,让订阅消息的子集成为可能.例如,我们可以将重要的错误日志存放到日志文件(即,磁盘上面), ...
- iOS修改button的点击范围
一般来说,按钮的点击范围是跟按钮的大小一样的.若按钮很小时,想增大点击区域,网上通用的方法有①设置btn图片setImage,然后将btn的size设置的比图片大②在btn上添加一个比较大的透明btn ...
- Java内存与垃圾收集知识总结
总结一下关于Java内存的知识,今天我不生产知识,我只是知识的搬运工. 1.运行时数据区域 java虚拟机在执行JAVA程序的过程中会把它所管理的内存划分为若干个不同的数据区域. 由所有线程共享的数据 ...
- checkbox全选-取消-再全选没有显示问题
源码: <input type="checkbox" id="cleckAll" />全选 <div class="list&quo ...
- 金蝶EAS BOS上如何打补丁
主要分为2种方式,直接通过BOS管理平台,去安装补丁 另一种方式就是通过本地zip压缩包去打补丁,以我的安装目录包为例路径为:E:\kingdee\kingserver\eas\admin\patch ...
- new 一个button 然后dispose,最后这个button是null吗???
结果当然不是,button虽然释放了资源,但是它扔指向原来的那个地址,故不等于null 可以用button.isdispose==true判断
- Shell文本处理 - 分割合并与过滤
sort分类操作 示例文件 Boys in Company C:HK:192:2192 Alien:HK:119:1982 The Hill:KL:63:2972 Aliens:HK:532:4892 ...
- PHP 图片生成文字
$dst_path = './1.png'; $font_file = './ADOBEHEITISTD-REGULAR (V5.010).OTF'; $img_bg = imagecreatefro ...
- tomcat 性能优化
tomcat 性能优化tomcat默认参数是为开发环境制定,而非适合生产环境,尤其是内存和线程的配置,默认都很低,容易成为性能瓶颈. tomcat内存优化linux修改TOMCAT_HOME/bin/ ...