XML数据的解析
XML数据的解析
相比于JSON数据解析而言,XML数据解析可能会让更多的童鞋感觉到吃力,对我来说,同样认为JSON数据好像让人感觉比较友好,不过对于程序开发者来说,无非就是这两种数据解析占比较大的部分,其中JSON数据占80%,而XML只占到20%,虽然大部分还是JSON的天下,但我们也不能掉以轻心,不能忽略这20%的XML,听完今天老师的课程,我做了如下总结,更多总结见我个人博客。
下面给大家看两个图片,这两个图片就是传说中的JSON和XML数据,要对他们进行解析,估计很多同仁都像我一样,第一眼看上去,哎呀妈呀,是不是都有一种晕倒在厕所的感觉,不管你有没有,反正我是有的。
JSON

XML

那么我们应该如何面对这些看上去复杂的数据呢,下面将一种方法,主要是用第三方解析方法进行解析,在Xcode中导入第三方头文件,首先我们打开神器Xcode,进入如下页面,
1,第一步,点击工程文件,可以看到下面的页面

2,第二步,点击Build Phases,找到Search Paths中的Header Search Paths,点击右边的方框的东西,双击。

3,第三步,双击之后,看到如图所示的方框,点击“+”号,填入箭头所指的路径

4,第四步,找到Link Binary With Libraries(1 item),点击“+”,把方框内的内容放到搜索框里搜索,我这里是加好的,没加之前是看不到方框这里的内容的,搜到之后点击添加即可

5,第五步,找到刚才的第三方*.m文件,点击,双击,然后输入方框内的内容,这里的作用就是告诉编译器,这里将不启用自动内存管理机制

6,第六步,好戏就要开始了,如图,将第三方的*.h 和*.m文件拖到工程之中,并在main函数中包含头文件,一切正常的话,应该是如图所示的样子。

7,第七步,将文件的路径传进来,相信这步大家都是非常熟悉的,这里就不解析了

8,第八步,我们来尝试着在文件进行解析之后获取CityName这个元素,代码如下,通过代码,我们成功获取了该数据,进行输出试验

9,第九步,我们来看一个比较复杂的一个元素下面又有三个元素的嵌套数据,根据代码显示,因为该方法是返回一个数组,所以这里我们选择一个作为例子,就取数组第一个数IntentionLevelArray[0],将其属性打印出来

10,第十步,最后一个例子,比上面的稍微更复杂一点,如图,用//Item,要活的所有Item节点下的数据,不管Item在哪里,还有一个就是用@//value,用来获取所有value的属性值,不管value在哪里!

通过以上代码的实现,估计很多童鞋都思维清晰了吧,以后遇到这样的数据还得认真分析,才能将其克服,希望大家能够掌握这种方法,如果有哪里不对的地方,请指出来,根据上面的代码如果程序没有错误,打印出来的结果应该是如下图的样子的。

XML数据的解析的更多相关文章
- json和xml数据的解析
一 json数据 1一条json就像一个对象,也想像OC中的数组,且内嵌了很多键值对字典 {"name" : "jack", "age" : ...
- iOS开发网络篇—XML数据的解析
iOS开发网络篇—XML数据的解析 iOS开发网络篇—XML介绍 一.XML简单介绍 XML:全称是Extensible Markup Language,译作“可扩展标记语言” 跟JSON一样,也是 ...
- android基础---->XMl数据的解析
在网络上传输数据时最常用的格式有两种,XML和JSON,下面首先学一下如何解析XML格式的数据,JSON的解析可以参见我的博客(android基础---->JSON数据的解析).解析XML 格式 ...
- 多线程与网络之JSON和XML数据的解析
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- cURL模拟POST方法提交XML数据并解析
php编程中会用到xml格式传送数据,这里演示下php以post形式发送xml,服务器接收,并解析xml的过程! post_xml.php源码: <?php header("Conte ...
- Android网络之数据解析----SAX方式解析XML数据
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- iOS 详解NSXMLParser方法解析XML数据方法
前一篇文章已经介绍了如何通过URL从网络上获取xml数据.下面介绍如何将获取到的数据进行解析. 下面先看看xml的数据格式吧! <?xml version="1.0" enc ...
- WebService传递XML数据 C#DataSet操作XML 解析WebService返回的XML数据
Webservice传递的数据只能是序列化的数据,典型的就是xml数据. /// <summary> /// 通过用户名和密码 返回下行数据 /// & ...
- (四)SAX方式解析XML数据
SAX方式解析XML数据 文章来源:http://www.cnblogs.com/smyhvae/p/4044170.html 一.XML和Json数据的引入: 通常情况下,每个需要访问网络的应用程 ...
随机推荐
- JS基础学习(一)
首先感谢 http://www.w3school.com.cn/js/index.asp 学js真的很方便,&下面的内容其实是我自己做的一个备忘 第一节 大致了解 一 js基本介绍 1.轻量级 ...
- 【leetcode】Path Sum
题目简述: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding ...
- 【leetcode】Pascal's Triangle II
题目简述: Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3, Retur ...
- TOP 和 OFFSET 筛选(转)
SQL Server 对行数的排序提供了 TOP 筛选.SQL Server 2012 新增了 OFFSET 筛选. 一.TOP 筛选 如果有 ORDER BY 子句,TOP 筛选将根据排序的结果返回 ...
- PHP环境搭建
1.安装wampserver,安装成功后浏览器中输入:localhost可以打开下面的页面 2.想配置本机IP打开文件的话,单击wampserver-Apache-httped.conf,打开文件,修 ...
- 基于暗通道优先算法的去雾应用(Matlab/C++)
基于暗通道优先的单幅图像去雾算法(Matlab/C++) 算法原理: 参见论文:Single Image Haze Removal Using Dark Channel Pri ...
- su root认证失败的解决方法
sudo passwd 输入安装密码. 输入新密码. 输入 su 即获得root权限.
- 关于XML中:XmlNode和XmlElement的涵义及不同之处
今天学习XML,遇到XmlNode和XmlElement俩个类,故有了下文的所述: 今天在做ASP.NET操作XML文档的过程中,发现了两个类:XmlNode和XmlElement.这两个类的功能极其 ...
- 利用Photoshop修改图片以达到投稿要求
摘自:http://www.dxy.cn/bbs/thread/8602152#8602152 利用Photoshop修改图片以达到投稿要求 软件版本为Photoshop CS V8.0.1(中文版) ...
- my97DatePicker日期控件——日期输入框联动,使用focus使第二个输入框没展示出日期控件
描述问题场景: 1.jquery使用的版本是jquery-1.7.2.min.js 2.代码不是写在页面上的,是通过事件后追加的 <!DOCTYPE html> <html> ...