我有这个 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/