`
xhanxhanxhan
  • 浏览: 203290 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

KissXML 简易教程

阅读更多

文章来源 

http://ixhan.com/2010/03/tutorial-of-kissxml-iphone/

 

KissXML 是我觉得最简单方便的XML解析器了,更重要是很简单的支持Xpath

 

在项目中使用前先简单配置下.

 

  • 在这里下载源代码  here
  • 添加除了DDXMLTesting 外的文件
  • 根据下图配置libxml
打开项目属性
添加如下内容

OTHER_LDFLAGS = -lxml2

HEADER_SEARCH_PATHS = /usr/include/libxml2

如图

 

然后就可以使用KissXML了

<smil xmlns="http://www.w3.org/2000/SMIL20/CR/Language">
<head>
</head>
<body>
<par dur="120000ms" >
<text region="Text" src="att000.txt" />
</par>
<par dur="120000ms" >
<text region="Text" src="att010.txt" />
</par>
<par dur="10000ms" >
<img region="Image" src="att020.jpg"/>
</par>
<par dur="120000ms" >
<text region="Text" src="att040.txt" />
</par>

<par dur="10000ms" >
<img region="Image" src="att120.gif"/>
</par>
</body>
</smil>

 

我们的目标是获取该xml媒体内容的 src 地址

//hack to remove xmlns => avoid xpath search not works
 xmlStr = [xmlStr stringByReplacingOccurrencesOfString:@"xmlns" withString:@"noNSxml"];
 NSMutableArray* contents = [NSMutableArray array];

 NSError* error = nil;
 DDXMLDocument* xmlDoc = [[DDXMLDocument alloc] initWithXMLString:xmlStr options:0 error:&error];

 if (error) {
 NSLog(@"%@",[error localizedDescription]);
 return nil;
 }

 NSArray* resultNodes = nil;
 resultNodes = [xmlDoc nodesForXPath:@"//audio | //text | //image | //img" error:&error];

 if (error) {
 NSLog(@"%@",[error localizedDescription]);
 return nil;
 }

 for(DDXMLElement* resultElement in resultNodes)
 {
 NSString* name = [resultElement name];
 //audio , text or other media type
 NSString* fileName = [[resultElement attributeForName:@"src"] stringValue];
 // 0.txt
 }

 

注意第一行,我把xmlns给删除了,(否则kissxml无法正常使用xpath,原因位置)

 

分享到:
评论
1 楼 xhanxhanxhan 2010-03-27  
对了,转过来的原因是想看看 自己博客和javaeye的浏览量差距有多少哈哈

相关推荐

    KissXML解析(Meeting)

    KissXML解析实例 KissXML解析实例 KissXML解析实例

    iPhone 解析XML示例-KissXML

    iPhone 解析XML示例-KissXML,iphone代码实例

    XML 解析器 KissXML.zip

    XML 解析器 KissXML ,KissXML 是适合在 Mac 和 iOS 平台下使用的 XML 解析器,采用 Objective...

    KISSXML解析 for iphone

    非常方便 可以吧xml解析到字典 key 和 value对应相应的值

    KissXML:替代 Cocoa 的 NSXML 类集群。 基于libxml。 适用于 iOS

    KissXML 在没有 NSXML 的环境(例如 iOS)中为 Apple 的 NSXML 类库提供了替代品。 它是在事实上的 libxml2 C 库之上实现的,该库预装在 Mac 和 iOS 上。 但这使您免受所有讨厌的低级C指针和malloc的干扰,并提供了...

    Iphone团购信息客户端

    整合了KissXML, ASIHttpRequest,AQGridView的客户端

    XMPP第三方资源导入包

    工程中需要用到的第三方类库,需要自己手动导入到自己的工程中。

    ios_XML_解析

    还有说用TBXML、KissXML等等的 可是NSXMLParse要实现代理,多出一大堆代码,你就不能解析完给我一个对象就好了? 还有GDataXML,又得加库,又得加头文件路径,关键是没搞成功,看着真是醉了 还有其他的TBXML, ...

    iphone,xml多种解析方法

    GDataXML,TinyXML,KissXML,TouchXML,TBXML多种xml解析例子,不多说需要的自己下来看看吧!

    demo-xmpp-ios:使用CocoaPods包的XMPPFramework Ba​​sic客户端

    demo-xmpp-ios 概述 XMPPFramework Basic客户端依赖使用包。 一,项目设置 打开Xcode并选择创建一个新项目![Xcode设置]( = 350x) 在项目编辑器中选择“单视图应用程序” ![Xcode设置]( = 350x) ...

    ios开发常用第三方类库集合

    KissXml xml解析 json oc版 json cpp版 Reachabiliy 网络状态判断 libcurl c语言静态网络库 armv6 armv7 liblua lua解析器静态库 armv6 armv7 i386 EGO 上拉,下拉刷新 HUD hud显示 utarray 包含数组 链表和hash的...

    iOS XML解析实例

    这是一个XML解析的实例,把KISSXML那个包导入工程之后,就可以按照代码中的例子进行XML解析了。

    ios网络编程

    包含AFNetWorking,CoreData,GCD,KissXMl,NsPredicate,NSTHread,NSSession,Popover,SDwebImage,sql,经纬度转换,触底刷新,FLV布局,代码操作数据库,反向传值,录音,视频播放,同步请求,网络请求,系统地图...

    GoogleMusicMac:Wrapper for Google Music 将 All Access 变成与 Mac 媒体键兼容的独立应用程序

    谷歌音乐Mac 用于 Google Music 的 Wrapper,可将 All Access 变成与 Mac 媒体键兼容的独立应用程序。... 使用的框架:SSKeychain - LastFm - KissXML - Google 保留所有权利。 这只是一个实用程序。

    iOS开发中常见的解析XML的类库以及简要安装方法

    在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢? 解析 XML 通常有两...

    虎嗅网RSS阅读器应用

    一款虎嗅网RSS阅读器应用源码,该应用采用了KissXML和正则表达式解析虎嗅网的RSS实现的,还使用了AFNetworking类库的,应用的源码很简单,喜欢ios rss开发的朋友可以研究一下。

    虎嗅网RSS阅读器(iPhone源代码)

     使用KissXML和正则表达式解析虎嗅网的RSS。代码还用了AFNetworking类库。 小编注:感谢作者@6david9 发布代码于Code4App。 [优才 · Code4App]编译测试,适用环境:Xcode 4.5, iOS 5.0 以上。

    XMLDocument:Foundation for iOS的XML Document的实现

    XML文档 此Swift包实现了Foundation for iOS的XMLDocument和相关类的某些部分。 您可以使用它来解析XML文档。 用法 import XMLDocument 要求 的iOS Xcode 11+ 迅捷5.1+ ... 文件&gt; Swift软件包&gt;添加软件包依赖项... ...

Global site tag (gtag.js) - Google Analytics