2014-02-07 34 views
0

我正在编写iOS应用程序,我需要解析XML文件中的一些值。 我使用SMXMLDocument解析XML,一切正常,但有些标签返回空值。我注意到那些标签是CDATA,经过一些研究,我发现了一些方法来解决这个问题。问题是所有这些方法引用NSXMLParser,我无法理解如何使用SMXMLDocument来完成此操作。 我的应用程序中的代码与this page的代码非常相似(可以说完全相同)。 你能帮我吗? 谢谢使用iOS中的SMXMLDocument从XML获取CDATA

回答

0

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

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

} 

内部的功能应该是非常相似的foundcharacters功能,你只需要把你弄并将其转换成一个字符串NSData。尽管谨慎编码,但CData数据并不总是UTF8。

+0

谢谢你的回答。 不幸的是,我似乎无法使用SMXMLDocument使其工作,所以我只使用NSXMLParser及其方法。 – halfblood17