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中我们就是但存的拼接字符串就可以了。 以上的处理也可以方法按别的次序放置。 为了安全我们也可以实现他的错误处理相关的代理方法。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |