KissXML 简易教程
来源:互联网 发布:中华网络一条龙可靠么 编辑:程序博客网 时间:2024/06/02 07:22
文章来源
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>
<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
- }
//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 简易教程
- KissXML 简易教程
- KissXML的简易教程
- KissXml 简易API
- 基于KissXML,简易解析xml ( iOS )
- 简易教程
- kissXml 配置
- KissXml API
- KissXml API
- KissXml 解析
- 有关KissXML
- KissXml API
- KissXml API
- KissXml 配置
- KissXml API
- Kissxml 解析
- 详解UIWebView之网络状况显示
- New Age音乐启蒙与经典选介
- liunx下安装与基本使用php内存缓存Memcache
- Mysql命令
- 【java】静态&初始化执行顺序
- KissXML 简易教程
- Unity3D学习 愤怒的小鸟之Play界面(三)
- 一个解析XML数据的简单Demo(以KissXml为例)
- js中易出错的点.....
- 正则表达式详解
- Java 内存模型
- 天猫首页多焦点轮换图片
- ASP.NET 给图片动态添加文字水印
- 天外有天——一代棋圣吴清源自传(4)