文章来源 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 简易教程 KissXML 简易教程](https://i-blog.csdnimg.cn/blog_migrate/6007dc25757d056bfe273568c05a6bac.png)
然后就可以使用KissXML了
01 | < smil xmlns = "http://www.w3.org/2000/SMIL20/CR/Language" > |
07 | < text region = "Text" src = "att000.txt" /> |
11 | < text region = "Text" src = "att010.txt" /> |
15 | < img region = "Image" src = "att020.jpg" /> |
18 | < text region = "Text" src = "att040.txt" /> |
23 | < img region = "Image" src = "att120.gif" /> |
我们的目标是获取该xml媒体内容的 src 地址
02 | xmlStr = [xmlStr stringByReplacingOccurrencesOfString:@ "xmlns" withString:@ "noNSxml" ]; |
03 | NSMutableArray* contents = [NSMutableArray array]; |
06 | DDXMLDocument* xmlDoc = [[DDXMLDocument alloc] initWithXMLString:xmlStr options:0 error:&error]; |
09 | NSLog(@ "%@" ,[error localizedDescription]); |
13 | NSArray* resultNodes = nil; |
14 | resultNodes = [xmlDoc nodesForXPath:@ "//audio | //text | //image | //img" error:&error]; |
17 | NSLog(@ "%@" ,[error localizedDescription]); |
21 | for (DDXMLElement* resultElement in resultNodes) |
23 | NSString* name = [resultElement name]; |
25 | NSString* fileName = [[resultElement attributeForName:@ "src" ] stringValue]; |
注意第一行,我把xmlns给删除了,(否则kissxml无法正常使用xpath,原因位置)