iOS中XML的相关知识
1.什么是XML
“当 XML(扩展标记语言)于 1998 年 2 月被引入软件工业界时,它给整个行业带来了一场风暴。有史以来第一次,这个世界拥有了一种用来结构化文档和数据的通用且适应性强的格式,它不仅仅可以用于 WEB,而且可以被用于任何地方。”
2.一个常见的XML数据一般有以下部分组成
3.XML解析
DOM解析使用于小数据量的XML,SAX解析适用于大数据量的XML
4.XML解析框架
iOS SDK提供:NSXMLParser和libxml2两个类库
第三方框架:TBXML、TouchXML、KissXML、TinyXML和GDataXML
解析框架的对比
5、我们该怎么选择
读取小XML,支持XPath,建议使用TouchXML、KissXML、GDataXML
读取、写入小XML,建议使用KissXML或者GDataXML
读取大XML(需要性能),建议使用TBXM、libXML
第三方框架NSXML(NSXMLParser)
6、GDataXMLNode框架的使用
Github下载地址https://github.com/wddonline/GDataXMLNode
分为下列几项步骤
1.导入libxml2.2.tbd
2.在编译之前,找到Header Search Paths 输入/usr/include/libxml2
3.先编译一下,查看是不是错误
读取XML
向XML中写入数据
使用Xpath进行读写
-(void)readXMLXpath{ NSString *filePath = [[NSBundle mainBundle]pathForResource:@"xml2" ofType:@"xml"]; NSData *data = [NSData dataWithContentsOfFile:filePath]; GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:data error:nil]; NSString *Xpath = @"/catalog/cd/price"; NSArray *array = [doc nodesForXPath:Xpath error:nil]; for (GDataXMLElement *string in array) { NSLog(@"节点名%@ 节点值%@ ",string.name,string.stringValue); } }