SAX 解析
- 只读
- 从上到下
- 利用5个代理方法,来实现解析,2/3/4这三个方法循环执行,一直到解析完毕
- SAX方式没有第三方框架!
- 适合于大的 XML 文件解析
DOM 解析
- 一次性将所有的文档以"树形"的方式读入内存
- 如果横向节点非常深,内存消耗会非常大!
- 能够修改XML的节点,增加节点,删除节点
- 在苹果的开发框架中,提供了一个 NSXML 的类,能够实现 DOM 解析
但是,NSXML 类只能用在 MAC 开发上,不能在 iOS 开发中直接使用!
- 有的时候,开发确实需要以 DOM 方式来解析 XML
- XMPP(XML)做即时通讯的一套框架!
- 第三方框架:GData/KissXML
- 适合于非常小的 XML,层次很少的时候,使用 GData 比较方便
- 另外,如果需要对 XML 进行修改,则需要使用 GData 来实现!
使用 GData 解析的小结
获得最新GData 网址:https://github.com/graetzer/GDataXML-HTML 1. 使用第三方框架解析 XML 仍然会有些繁琐,原因就是因为 XML 的格式非常复杂! 2. 步骤,导入框架的,可以参见 .h 头文件,一共设置两个地方 3. 获得根节点,依次 Log,一定要确认能够拿到所有子节点的内容! 4. 横向节点越多,for的层次就越深! 5. 根据实际的 XML 的情况,确认解析,基本上通过 KVC 就能够实现快速的解析!