文章来源
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解析实例 KissXML解析实例 KissXML解析实例
iPhone 解析XML示例-KissXML,iphone代码实例
XML 解析器 KissXML ,KissXML 是适合在 Mac 和 iOS 平台下使用的 XML 解析器,采用 Objective...
非常方便 可以吧xml解析到字典 key 和 value对应相应的值
KissXML 在没有 NSXML 的环境(例如 iOS)中为 Apple 的 NSXML 类库提供了替代品。 它是在事实上的 libxml2 C 库之上实现的,该库预装在 Mac 和 iOS 上。 但这使您免受所有讨厌的低级C指针和malloc的干扰,并提供了...
整合了KissXML, ASIHttpRequest,AQGridView的客户端
工程中需要用到的第三方类库,需要自己手动导入到自己的工程中。
还有说用TBXML、KissXML等等的 可是NSXMLParse要实现代理,多出一大堆代码,你就不能解析完给我一个对象就好了? 还有GDataXML,又得加库,又得加头文件路径,关键是没搞成功,看着真是醉了 还有其他的TBXML, ...
GDataXML,TinyXML,KissXML,TouchXML,TBXML多种xml解析例子,不多说需要的自己下来看看吧!
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的...
这是一个XML解析的实例,把KISSXML那个包导入工程之后,就可以按照代码中的例子进行XML解析了。
包含AFNetWorking,CoreData,GCD,KissXMl,NsPredicate,NSTHread,NSSession,Popover,SDwebImage,sql,经纬度转换,触底刷新,FLV布局,代码操作数据库,反向传值,录音,视频播放,同步请求,网络请求,系统地图...
谷歌音乐Mac 用于 Google Music 的 Wrapper,可将 All Access 变成与 Mac 媒体键兼容的独立应用程序。... 使用的框架:SSKeychain - LastFm - KissXML - Google 保留所有权利。 这只是一个实用程序。
在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML、TouchXML、KissXML、TinyXML和GDataXML。问题是应该选择哪一个呢? 解析 XML 通常有两...
一款虎嗅网RSS阅读器应用源码,该应用采用了KissXML和正则表达式解析虎嗅网的RSS实现的,还使用了AFNetworking类库的,应用的源码很简单,喜欢ios rss开发的朋友可以研究一下。
使用KissXML和正则表达式解析虎嗅网的RSS。代码还用了AFNetworking类库。 小编注:感谢作者@6david9 发布代码于Code4App。 [优才 · Code4App]编译测试,适用环境:Xcode 4.5, iOS 5.0 以上。
XML文档 此Swift包实现了Foundation for iOS的XMLDocument和相关类的某些部分。 您可以使用它来解析XML文档。 用法 import XMLDocument 要求 的iOS Xcode 11+ 迅捷5.1+ ... 文件> Swift软件包>添加软件包依赖项... ...