XML解析

利用xcode自带的SDK实现xml的解析

利用到的工具NSXMLParser,是基于SAX类型的数据库解析

实现的功能:

实现XML的解析,将其转变成oc对象,能够读出项目中的一些属性

准备:

利用NSXMLParser 的initwithdata(或者其他),建立parser对象,设置他的代理重写代理方法,开始解析([parser parser];)

用到的方法:

parserDidStartDocument://开始文件的解析

parserDidEnd://解析结束

(主要用到的方法:)

(1)parser:didstartelement:(节点名称)nameuri:qualifiedname:attribute:(字典类型,包含节点的属性)//开始处理一个节点。

(2)parser:didendslement:nameuri:qualifedname://结束一个节点是

(3)parser:foundcharacters://解析到内容时候,注意有可能不能一次性读取整个字符

使用方法:

<A id='1'>

<a>aaa</a>

<b>bbb</b>

</A>

。。

程序的执行路径应该是

先通过(1)解析<A>到,(此时可以通过attribute字段利用key值id获取A节点的id属性)

再通过(1)解析<a>

再通过(3)获取aaa,此方法可能连续执行多次

再通过(2)执行到</a>

...

通过(2)执行</A>

。。

这样顺序的解析XML,所以我们在各个方法中建立合理的对象保存这些数据

首先是一个存放<A>类型的数组,而他的内部可以是字典或则模型

所以我们需要在外部定义一个数组,一个临时的模型引用,和一个数据的引用

在1中我们判断如果是<A>,此时我们需要一个新的模型,建立一个模型,加到数组里面,并添加引用.

在2中如果我们检测到的是属性节点,就说明我们有了一个完整的临时数据,此时我们要做的就是当前模型属性赋值。,并且将临时数据引用清空

在3中我们就是但存的拼接字符串就可以了。

以上的处理也可以方法按别的次序放置。

为了安全我们也可以实现他的错误处理相关的代理方法。









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值