GDataXML-HTML 解析XML
一、简介
GDataXML-HTML是iOS和OSX的HTML/XML解析器,基于谷歌的GDataXML。正如它的名字显示一样,她支持HTMLparser模块libxml2。我们能够处理非验证XML或HTML。是一种DOM解析的框架。
二、下载并使用
- 下载 GDataXML-HTML 是开源框架,下载地址:
https://github.com/graetzer/GDataXML-HTML
下载后直接解压,提取Pod下地两个文件到我们的项目中即可。 - 配置 说明文档中说明了两种配置的方法
- 1.Cocoapods托管,该方法下面的博客中写的很详细,请移步
http://blog.csdn.net/yang2735/article/details/38532185
- 1.Cocoapods托管,该方法下面的博客中写的很详细,请移步
- 2.手动
-
在项目的Build Settings页中,搜索Header Search Paths,并在Header Search Paths哪一行添加:/usr/include/libxml2 如图:
 -
搜索Other Linker Flags,在其中添加-lxml2,如图:

开始解析XML
1.导入头文件
#import "GDataXMLNode.h"
2.相关API说明:
* 解析XML
NSString *path = [[NSBundle mainBundle]pathForResource:@"xml" ofType:@"xml"];
//根据文件路径解析XML
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:[NSData dataWithContentsOfFile:path] encoding:NSUTF8StringEncoding error:NULL];
if (doc) { //如果有数据
[self print:@"\nParse XML with XPath and print out every employe:\n\n"];
//根据employee元素解析
NSArray *employees = [doc nodesForXPath:@"//employe" error:NULL];
//输出
for (GDataXMLElement *employe in employees) {
[self print:[employe stringValue]];[self print:@"\n"];
}
- 解析HTML
NSString *path = [[NSBundle mainBundle]pathForResource:@"html" ofType:@"html"]; GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithHTMLData:[NSData dataWithContentsOfFile:path] error:NULL]; if (doc) { [self print:@"\nLoad non valid HTML file and convert it to valid XML:\n\n"]; [self print:[[doc rootElement] XMLString]]; }