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数据的引入: 通常情况下,每个需要访问网络的应用程 ...
随机推荐
- php barcode 制作二条码,隐藏条码的内容,只保留条码
<?php global $_W, $_GPC; $operation = !empty($_GPC['op']) ? $_GPC['op'] : 'display'; require_once ...
- Error staring Tomcat Cannot connect to VM错误解决办法
最近经常遇myEclipse以debug方式启动tomcat的错误提示如下: 直接run方式启动没有问题. 一般这个问题等一会就不再出现,如果有耐心的话,就等几分钟再启动.如果没有耐心,可以试试下面的 ...
- js倒计时
/** * 启动,秒杀倒计时 * totalSecond:剩余秒数 * showTime(tm):回调函数,其中tm={day:"",hour:"",min:& ...
- CentOS 7 安装后没有ifconfig命令
/bin,/sbin,/usr/bin,/usr/sbin下面都没有ifconfig命令. 执行命令 yum install net-tools 即可.
- 自用VS Code 上的Markdown 编辑器css
目标效果如下: 主题使用:Markdown Yellow 主题[https://marketplace.visualstudio.com/items?itemName=ms-vscode.Theme- ...
- 白银5kg
领悟: 1.其实大势涨也好,跌也好,如果我们知道价格到哪里会受阻或反弹,能出有出利润的空间,我们就可以做单.
- ubuntu14.04 安装 搜狗输入法
1.安装或者更新fcitx libssh2-1:sudo apt-get install fcitx libssh2-1; 2.搜索是否安装成功: dpkg -l | grep fcitx ; dp ...
- linux 常用命令
//创建目录mkdir//创建中间没有路径的文件夹mkdir -p //删除文件rm//强制删除文件rm -f//删除目录rmdir//删除多个目录rmdir -p //输出当前环境根路径echo $ ...
- for in 结构
in 运算符也是一个二元运算符,但是对运算符左右两个操作数的要求比较严格.in 运算符要求第 1 个(左边的)操作数必须是字符串类型或可以转换为字符串类型的其他类型,而第 2 个(右边的)操作数必须是 ...
- Java EE之搭建论坛系统(使用JForum)
1.下载JForum开源压缩包: 网址:http://jforum.net/ (或者直接使用百度云中的压缩包) 解压,修改解压后文件下的\WEB-INF\config\database\mysql目 ...