我正在编写iOS应用程序,我需要解析XML文件中的一些值。 我正在使用SMXMLDocument解析XML,一切顺利,但有些标签返回null值。我注意到这些标签是CDATA,经过一些研究后我发现了一些解决这个问题的方法。问题是所有这些方法都引用了NSXMLParser,我无法理解如何使用SMXMLDocument来做到这一点。 我的应用中的代码与this page处的代码非常相似(您可以说相同)。 你能帮我么? 谢谢
答案 0 :(得分:0)
显然SMXMLDocument
在解析文档时不符合所有NSXMLParser委托函数。您将不得不手动修改SMXMLDocument.m
并添加功能:
- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock
{
}
在该函数内部应该看起来非常类似于foundcharacters函数,您只需要获取所获得的NSData
并将其转换为字符串。但要注意编码,CData数据并不总是UTF8。