文章来源
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,原因位置)
分享到:
相关推荐
KissXML是一个强大的、开源的XML解析库,特别适合在iOS项目中使用。 首先,让我们深入了解XML。XML是一种标记语言,它允许开发者定义自定义的标签来描述数据。它的主要特点包括: 1. 结构化:XML文档通过标签定义...
"KissXML"是针对iPhone平台的一个强大的XML解析库,它允许开发者高效地处理XML文档,并将其内容映射到Objective-C中的字典结构,便于进一步的处理和操作。 KissXML库由Robbie Hanson开发,它是一个Objective-C实现...
KissXML解析是iOS开发中处理XML数据的一种高效方法,特别是在iPhone应用开发中。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于网络数据交换、配置文件存储等场景。KissXML库是Objective-C...
XML 解析器 KissXML ,KissXML 是适合在 Mac 和 iOS 平台下使用的 XML 解析器,采用 Objective...
KissXML 在没有 NSXML 的环境(例如 iOS)中为 Apple 的 NSXML 类库提供了替代品。 它是在事实上的 libxml2 C 库之上实现的,该库预装在 Mac 和 iOS 上。 但这使您免受所有讨厌的低级C指针和malloc的干扰,并提供了...
本教程将重点介绍如何在iPhone应用中进行XML解析,使开发者能够理解并有效地处理XML数据。 首先,我们需要了解XML的基本概念。XML是一种标记语言,它的结构由元素(Elements)、属性(Attributes)、文本内容(Text...
《Iphone团购信息客户端:KissXML、ASIHttpRequest与AQGridView的应用详解》 在iOS开发领域,构建一款高效且功能完善的iPhone团购信息客户端是一项技术挑战。本项目巧妙地结合了KissXML、ASIHttpRequest和...
本实例将介绍如何在iOS项目中使用KISSXML库进行XML解析。 KISSXML是一个强大的、Objective-C实现的XML解析库,它提供了XML解析和生成的功能,适用于iOS和macOS平台。导入KISSXML库到你的项目中,你可以通过简单的...
在iPhone开发中,处理XML文件有多种解析库,包括GDataXML、TinyXML、KissXML、TouchXML和TBXML。这些解析器各有特点,适用于不同的场景。 1. **GDataXML** GDataXML是Google开源的一个Objective-C库,基于libxml2...
XMPP(Extensible Messaging and Presence Protocol)是一种基于XML的开放标准通信协议,主要用于即时通讯(IM)和在线状态管理。这个“XMPP第三方资源导入包”显然包含了用于开发XMPP应用所需的类库和组件,使得...
还有说用TBXML、KissXML等等的 可是NSXMLParse要实现代理,多出一大堆代码,你就不能解析完给我一个对象就好了? 还有GDataXML,又得加库,又得加头文件路径,关键是没搞成功,看着真是醉了 还有其他的TBXML, ...
demo-xmpp-ios 概述 XMPPFramework Basic客户端依赖使用包。 一,项目设置 打开Xcode并选择创建一个新项目![Xcode设置]( = 350x) 在项目编辑器中选择“单视图应用程序” ![Xcode设置]( = 350x) ...
KissXml xml解析 json oc版 json cpp版 Reachabiliy 网络状态判断 libcurl c语言静态网络库 armv6 armv7 liblua lua解析器静态库 armv6 armv7 i386 EGO 上拉,下拉刷新 HUD hud显示 utarray 包含数组 链表和hash的...
Objective-C提供了几种方式来解析XML,包括NSXMLParser、GDataXMLNode和KissXML等库。 1. **NSXMLParser**:这是苹果官方提供的XML解析器,它是一个事件驱动的解析器。在解析过程中,每当遇到XML文档的某个部分(如...
`KissXML`是一个Objective-C版的libxml2库,它提供了与`NSXMLParser`类似的接口,但功能更加强大。`HTMLKit`则是一个现代的HTML解析器,它提供了一个完整的DOM API,可以方便地遍历和修改HTML文档。 在压缩包`...
帮助文档和URL链接可能指向了更详细的使用教程或开发者社区,便于用户深入理解和改进这个应用。 总之,这款“虎嗅网RSS阅读器应用”的源码为iOS开发者提供了一个实践案例,展示了如何整合KissXML、正则表达式和...
包含AFNetWorking,CoreData,GCD,KissXMl,NsPredicate,NSTHread,NSSession,Popover,SDwebImage,sql,经纬度转换,触底刷新,FLV布局,代码操作数据库,反向传值,录音,视频播放,同步请求,网络请求,系统地图...
解析HTML,我们可以使用如KissXML或者GDataXML等库,它们提供了XML和HTML的解析功能。然而,ASI框架本身并不包含HTML解析器,所以需要额外引入解析库。 在获取HTML内容后,我们需要从中提取特定字段。这通常涉及...
本教程将详细介绍如何在iOS中将XML格式的数据转换为JSON格式。 首先,理解XML和JSON的基本概念。XML是一种标记语言,用于描述数据结构,其数据以树形结构呈现,每个元素都可以包含其他元素和属性。JSON则是一种轻量...