2011-12-20 85 views
0

我试图找出我怎么能解析这个XML解析XML数据:如何使用的NSXMLParser

<item> 
    <title> 
     <![CDATA[Preview: Courtney Crumrin and the Night Things Special Edition]]> 
    </title> 
    <description><![CDATA[]]></description> 
    <pubDate>Tue, 20 Dec 2011 11:52:48 -0800</pubDate> 
    <link>http://www.comicbookresources.com/?page=preview&amp;id=10864</link> 
    <guid>http://www.comicbookresources.com/?page=preview&amp;id=10864</guid> 
</item> 

有两个问题,结构..还有很多项目,所以我想到的创建一个NSMutableArrayNSDictionary,可以在项目内保存这些其他值...如果是这样,这是正确的如何将其他值传入NSDictionary

另外,另一个问题是我如何处理CDATA?剂量它只是被忽略或我必须做一些特别的事情吗?

回答

2

当然,可以使用字典数组。您通常会想要使用可变字典的可变数组。每次您启动新的<item>元素时,请创建一个新字典,并在收到子元素时开始填充它。当你到达</item>标签时,将字典添加到数组中。

至于CDATA,您的解析器委托应该实现-parser:foundCDATA:方法。然后,您的xml解析器将通过调用该方法来简单地报告数据,就像它为常规字符数据调用-parser:foundCharacters:一样。

+0

我将如何设置didStartElement?我会使用if([elementName isEqualToString:@“item”])来设置可变阵列,但我会怎样设置字典? – 2011-12-20 22:02:40

+0

可变数组应该是实现'NSXMLParserDelegate'方法的类上的一个实例变量。 – 2011-12-20 22:22:47