欢迎访问 生活随笔!

尊龙游戏旗舰厅官网

当前位置: 尊龙游戏旗舰厅官网 > 编程语言 > asp.net >内容正文

asp.net

gdataxml解析xml文档 -尊龙游戏旗舰厅官网

发布时间:2025/1/21 asp.net 28 豆豆
尊龙游戏旗舰厅官网 收集整理的这篇文章主要介绍了 gdataxml解析xml文档 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘python工程师标准>>>

本文章转载自 唐韧_ryan 的csdn  :

http://blog.csdn.net/ryantang03/article/details/7868246

在ios平台上进行xml文档的解析有很多种方法,在sdk里面有自带的解析方法,但是大多情况下都倾向于用第三方的库,原因是解析效率更高、使用上更方便,关于ios平台各种解析xml库的优缺点分析,可以看下这篇文章:http://www.raywenderlich.com/553/how-to-chose-the-best-xml-parser-for-your-iphone-project

这里主要介绍一下由google提供的一种在ios平台上进行xml解析的开源库gdataxml,可以到http://code.google.com/p/gdata-objectivec-client/source/browse/trunk/source/xmlsupport/下载源码,下载下来后进入文件夹找到xmlsupport文件夹,将里面的gdataxmlnode.h和gdataxmlnode.m文件拖拽到项目中新建的文件夹即可(我这里是建的gdataxml文件夹),注意要选中复制文件到项目中而不是只是引用,如图:



然后就是对工程进行一些配置,点击工程根目录然后点击左边的target,进入build phases,然后点击第三个link binary with libraries,点击加号搜索libxml2并将这个库添加到工程,如图:



接下来再进入build settings,在搜索框中搜索head search path,然后双击并点击 按钮添加/usr/include/libxml2,如图:


接下来再搜索框中搜索other linker flags,同样的方式添加-lxml2,如图:


到这里,添加和配置的工作就完成了(是有点麻烦),接下来就看如何使用了:

首先在工程中新建一个xml文件,作为我们要解析的对象,新建方法是在工程中新建一个empty的文件,命名为users.xml,然后添加内容:

[html]  view plain copy
  • xml version="1.0" encoding="utf-8"?>  
  • <users>  
  •     <user id="001">  
  •         <name>ryanname>  
  •         <age>24age>  
  •     user>  
  •     <user id="002">  
  •         <name>tangname>  
  •         <age>23age>  
  •     user>  
  • users>  

  • 接下来就可以开始解析了,在需要解析的文件中引入头文件:#import"gdataxmlnode.h"

    我是新建的一个empty工程,所以直接在appdelegate.m中使用,代码如下:

    [cpp]  view plain copy
  • - (bool)application:(uiapplication *)application didfinishlaunchingwithoptions:(nsdictionary *)launchoptions  
  • {  
  •     self.window = [[[uiwindowalloc] initwithframe:[[uiscreen mainscreen] bounds]] autorelease];  
  •     // override point for customization after application launch.  
  •     self.window.backgroundcolor = [uicolorwhitecolor];  
  •     [self.windowmakekeyandvisible];  
  •       
  •     //获取工程目录的xml文件  
  •     nsstring *filepath = [[nsbundle mainbundle] pathforresource:@"users" oftype:@"xml"];  
  •     nsdata *xmldata = [[nsdata alloc] initwithcontentsoffile:filepath];  
  •       
  •     //使用nsdata对象初始化  
  •     gdataxmldocument *doc = [[gdataxmldocument alloc] initwithdata:xmldata  options:0error:nil];  
  •       
  •     //获取根节点(users)  
  •     gdataxmlelement *rootelement = [doc rootelement];  
  •       
  •     //获取根节点下的节点(user)  
  •     nsarray *users = [rootelement elementsforname:@"user"];  
  •       
  •     for (gdataxmlelement *user in users) {  
  •         //user节点的id属性  
  •         nsstring *userid = [[user attributeforname:@"id"] stringvalue];  
  •         nslog(@"user id is:%@",userid);  
  •           
  •         //获取name节点的值  
  •         gdataxmlelement *nameelement = [[user elementsforname:@"name"] objectatindex:0];  
  •         nsstring *name = [nameelement stringvalue];  
  •         nslog(@"user name is:%@",name);  
  •           
  •         //获取age节点的值  
  •         gdataxmlelement *ageelement = [[user elementsforname:@"age"] objectatindex:0];  
  •         nsstring *age = [ageelement stringvalue];  
  •         nslog(@"user age is:%@",age);  
  •         nslog(@"-------------------");  
  •     }      
  •           
  •     returnyes;  
  • }  

  • 编译执行在控制台输出结果如下:

    转载于:https://my.oschina.net/u/1271699/blog/164100

    总结

    以上是尊龙游戏旗舰厅官网为你收集整理的gdataxml解析xml文档的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得尊龙游戏旗舰厅官网网站内容还不错,欢迎将尊龙游戏旗舰厅官网推荐给好友。

    网站地图