复杂XML的解析及组装
在实际的项目中,IPhone应用程序会存在很多与服务器之间的数据交互的地方,XML是首选方案。
此包可以解决XML文件的解析、对象转化为XML字符串的问题。
1 通过调用解析类,可以将XML的DATA数据转换为XmlNode对象,XmlNode以树形结构进行XML的数据封装,使用的时候按照树形结构进行数据的获取。
XmlNode结构如下:
01 @ interface XmlNode : NSObject {
02
03 }
04 @property(nonatomic,retain)NSMutableDictionary *attributes;//属性
05 @property(nonatomic,retain)NSMutableArray *childs;//下级子节点
06 @property(nonatomic,retain)NSString *name;//节点名称
07 @property(nonatomic,retain)NSString *value;//节点值
08 @property BOOL haveChilds;//是否有子节点
09 @property BOOL haveAttribute;//是否有属性
10 @property(nonatomic,retain)NSMutableString *xmlString;
11 -(void)addAttribute:(NSDictionary *)att;
12 -(void)addChild:(XmlNode *)node;
13 -(NSString *)getXmlString;//将此对象装换为XML字符串
14 -(NSString *)getNodeValue:(NSString *)nodeName;//在此节点中根据子节点名称获得子节点值
15 -(NSString *)getAttributeValue:(NSString *)attName;//获得此节点的属性值
16 @end
2 而解析器只需要调用相应的方法,传入相应的参数即可。 -(XmlNode *)getObject:(NSString *)elName xmlData:(NSData *)xmlData;//从data中获取对象,并返回封装对象XmlNode 。
-(NSMutableArray *)getList:(NSString *)elName xmlData:(NSData *)xmlData;//从DATA中获得对象集合,集合中也是XmlNode
–ps–
花了点时间重构了之前的xml与对象的转换代码,采用了新的逻辑算法。代码更加精简,并可支持包含节点的属性转换了。
之前有人说看不懂是做什么,所以写了个小UI来进行体现。
xml fun 是小程序,如果发现问题或者有更好的建议请留言,谢谢。
转载于:https://www.cnblogs.com/516inc/archive/2012/11/08/2760539.html
复杂XML的解析及组装相关推荐
- 高效的XML解析与组装-fasterxml
高效的XML解析与组装-fasterxml 写在前面 初步的解析工具选择-XStream fasterxml的使用 请求XML pom.xml 报文的实体类定义 组装以及解析工具 后记 写在前面 最近 ...
- python之XML文件解析
python对XML的解析 常见的XML编程接口有DOM和SAX,这两种接口处理XML文件的方式不同,当然使用场合也不同. python有三种方法解析XML,分别是SAX,DOM,以及ElementT ...
- Android XML pull 解析器
Android 并未提供对 Java StAX API 的支持.但是,Android 确实附带了一个 pull 解析器,其工作方式类似于 StAX.它允许您的应用程序代码从解析器中获取事件,这与 SA ...
- iOS - XML 数据解析
前言 @interface NSXMLParser : NSObjectpublic class NSXMLParser : NSObject 1.XML 数据 XML(Extensible Mark ...
- Python XML的解析与创建
以下内容为装载: 文章出处 http://blog.csdn.net/SeeTheWorld518/article/details/49535211 XML解析基本思路是 现将xml 文档内容一次性全 ...
- Android开发历程_18(XML文件解析)
前言 本文主要介绍在Android中怎样来解析XML文件.主要采用的是SAX机制,SAX全称为Simple API for XML,它既是一种接口,也是一个软件包.作为接口,SAX是事件驱动型XML ...
- php xml对象解析_php解析xml 的四种简单方法(附实例)
XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument. ...
- 开源分布式中间件 DBLE Schema.xml 配置解析
文章来源:爱可生开源社区 作者:张沈波 1.DBLE项目介绍 DBLE 是企业级开源分布式中间件,江湖人送外号 "MyCat Plus":以其简单稳定,持续维护,良好的社区环境和广 ...
- iOS边练边学--iOS中的XML数据解析
XML的解析方式 SAX 大小文件都可以 NSXMLParser DOM 最好是小文件 GDataXML NSXMLParser的用法 创建解析器来解析 // 创建XML解析器 NSXMLParser ...
最新文章
- 基于 abp vNext 和 .NET Core 开发博客项目 - 给项目瘦身,让它跑起来
- 【若依(ruoyi)】swagger 自定义 swagger-ui.html 的路径
- 宏定义和Typedef区别?
- DHCP与DHCP中继简介
- 通讯录排序 (20分)_算法入门篇:简单的排序算法
- matlab tf离散,求matlab离散化程序对于一个二阶传函,求其在MATLAB中的离散化程序.抱歉,没办法写清楚传函表达式.我试试:Gp(...
- java中使用okhttpsoap,Android okHttp网络请求之Retrofit+Okhttp+RxJava组合
- leetcode712. 两个字符串的最小ASCII删除和(动态规划)-Gogo
- Objective-C 的动态提示和技巧
- 一文尽览 ECCV 2020 旷视研究院15篇论文
- 编写函数main求3!+6!+9!python_Python day 6(3) Python 函数式编程1
- 德克萨斯州ADRN组织支持12种加密货币捐赠 现已收到700美元ETH捐款
- mysql学习笔记 ----外键.myisam和innodb的区别
- 回溯法——批处理作业调度
- 软件需求工程 高校教学平台 项目总体计划
- kmeans聚类算法_k-means聚类算法原理与参数调优详解
- G. I love Codeforces
- 如何用VBA从身份证号码中提取性别
- 教你查找电磁辐射骚扰原因及整改步骤
- 智慧服务型政务平台规划方案(ppt)
热门文章
- webpack 独立打包 css 文件
- 『 效率工具 』Spring Boot版的轻量级代码生成器,减少70%以上的开发任务
- Linux常用命令: zip、unzip 压缩和解压缩命令
- 组合数据类型练习、英语词频统计
- hdu 5008 Boring String Problem(后缀数组+rmq)
- Codeforces round 396(Div. 2) 题解
- linux命令总结----转载
- JS:a=b=c,a=?
- 绑定到对象上的copyWithin方法
- 激活层是每一层都有吗_89小户型复式这样装,每一层都设计得很棒,完工后秒变小区样板间,邻居前来取经...