iphone - NSXMLParser 找到特定元素的 CDATA

标签 iphone nsxmlparser

我有这个 XML 文件:

<item>
<title>App1</title>
<link><![CDATA[SomeLink]]></link>
<description><![CDATA[SomeText]]></description>
</item>

如何获取每个元素的 CDATA 并将其保存到每个 NSMutableDictionary 中? foundCDATA 委托(delegate)中没有要比较的 elementName。

我在foundCharacters中尝试了这一行:

if ([currentElement isEqualToString:@"link"]) [currentLink appendString:string];

但是我得到了 nil,并且我无法删除foundCDATA委托(delegate),因为我将它用于同一 View Controller 中的另一个解析器。

最佳答案

There is no elementName to compare in foundCDATA delegate.

您的解析器委托(delegate)之前将收到包含该元素的 -parser:didStartElement:namespaceURI:qualifiedName:attributes: 。它应该使用它来更新其状态,以便它知道当下一条消息传入时正在解析哪个元素。无论消息是 -foundCDATA: 还是 都是如此。 >-foundCharacters: 或其他内容。

关于iphone - NSXMLParser 找到特定元素的 CDATA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10771829/

相关文章:

ios - NSXML Parser 跳过 & In 字符串后的剩余字符串

objective-c - 使用 NSXML 解析器解析相同的根元素

iphone - ios NSXMLParserDelegate 没有做任何事情

iPhone 应用程序因内存不足而崩溃,但在模拟器中运行良好

ios - 如何通过标识符在 Storyboard 中获取 View Controller ?

iphone - cocoa touch 静态库的最佳实践

iphone - 将 NSString 转换为 cString 以与 CGContextShowTextAtPoint 一起使用

Swift XMLParser 无法解析整个字符串

cocoa - 如何将本地路径传递给 NSXMLParser

ios - Objective C-从数组中字典的键值添加数据