在iOS中使用SMXMLDocument从XML获取CDATA

时间:2014-02-07 22:24:03

标签: ios xml parsing cdata

我正在编写iOS应用程序,我需要解析XML文件中的一些值。 我正在使用SMXMLDocument解析XML,一切顺利,但有些标签返回null值。我注意到这些标签是CDATA,经过一些研究后我发现了一些解决这个问题的方法。问题是所有这些方法都引用了NSXMLParser,我无法理解如何使用SMXMLDocument来做到这一点。 我的应用中的代码与this page处的代码非常相似(您可以说相同)。 你能帮我么? 谢谢

1 个答案:

答案 0 :(得分:0)

显然SMXMLDocument在解析文档时不符合所有NSXMLParser委托函数。您将不得不手动修改SMXMLDocument.m并添加功能:

- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock
 {  

}

在该函数内部应该看起来非常类似于foundcharacters函数,您只需要获取所获得的NSData并将其转换为字符串。但要注意编码,CData数据并不总是UTF8。