`
xhanxhanxhan
  • 浏览: 207815 次
  • 性别: 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的浏览量差距有多少哈哈

相关推荐

    iPhone 解析XML示例-KissXML

    KissXML是一个强大的、开源的XML解析库,特别适合在iOS项目中使用。 首先,让我们深入了解XML。XML是一种标记语言,它允许开发者定义自定义的标签来描述数据。它的主要特点包括: 1. 结构化:XML文档通过标签定义...

    KISSXML解析 for iphone

    "KissXML"是针对iPhone平台的一个强大的XML解析库,它允许开发者高效地处理XML文档,并将其内容映射到Objective-C中的字典结构,便于进一步的处理和操作。 KissXML库由Robbie Hanson开发,它是一个Objective-C实现...

    KissXML解析(Meeting)

    KissXML解析是iOS开发中处理XML数据的一种高效方法,特别是在iPhone应用开发中。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于网络数据交换、配置文件存储等场景。KissXML库是Objective-C...

    XML 解析器 KissXML.zip

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

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

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

    iphone开发XML解析

    本教程将重点介绍如何在iPhone应用中进行XML解析,使开发者能够理解并有效地处理XML数据。 首先,我们需要了解XML的基本概念。XML是一种标记语言,它的结构由元素(Elements)、属性(Attributes)、文本内容(Text...

    Iphone团购信息客户端

    《Iphone团购信息客户端:KissXML、ASIHttpRequest与AQGridView的应用详解》 在iOS开发领域,构建一款高效且功能完善的iPhone团购信息客户端是一项技术挑战。本项目巧妙地结合了KissXML、ASIHttpRequest和...

    iOS XML解析实例

    本实例将介绍如何在iOS项目中使用KISSXML库进行XML解析。 KISSXML是一个强大的、Objective-C实现的XML解析库,它提供了XML解析和生成的功能,适用于iOS和macOS平台。导入KISSXML库到你的项目中,你可以通过简单的...

    iphone,xml多种解析方法

    在iPhone开发中,处理XML文件有多种解析库,包括GDataXML、TinyXML、KissXML、TouchXML和TBXML。这些解析器各有特点,适用于不同的场景。 1. **GDataXML** GDataXML是Google开源的一个Objective-C库,基于libxml2...

    XMPP第三方资源导入包

    XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准通信协议,主要用于即时通讯(IM)和在线状态管理。这个“XMPP第三方资源导入包”显然包含了用于开发XMPP应用所需的类库和组件,使得...

    ios_XML_解析

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

    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的...

    object c解析xml

    Objective-C提供了几种方式来解析XML,包括NSXMLParser、GDataXMLNode和KissXML等库。 1. **NSXMLParser**:这是苹果官方提供的XML解析器,它是一个事件驱动的解析器。在解析过程中,每当遇到XML文档的某个部分(如...

    html解析

    `KissXML`是一个Objective-C版的libxml2库,它提供了与`NSXMLParser`类似的接口,但功能更加强大。`HTMLKit`则是一个现代的HTML解析器,它提供了一个完整的DOM API,可以方便地遍历和修改HTML文档。 在压缩包`...

    虎嗅网RSS阅读器应用

    帮助文档和URL链接可能指向了更详细的使用教程或开发者社区,便于用户深入理解和改进这个应用。 总之,这款“虎嗅网RSS阅读器应用”的源码为iOS开发者提供了一个实践案例,展示了如何整合KissXML、正则表达式和...

    ios网络编程

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

    ios asi框架解析html

    解析HTML,我们可以使用如KissXML或者GDataXML等库,它们提供了XML和HTML的解析功能。然而,ASI框架本身并不包含HTML解析器,所以需要额外引入解析库。 在获取HTML内容后,我们需要从中提取特定字段。这通常涉及...

    IOS XML转JSON数据

    本教程将详细介绍如何在iOS中将XML格式的数据转换为JSON格式。 首先,理解XML和JSON的基本概念。XML是一种标记语言,用于描述数据结构,其数据以树形结构呈现,每个元素都可以包含其他元素和属性。JSON则是一种轻量...

Global site tag (gtag.js) - Google Analytics