CDATA 解析值的问题

要实现解析CDATA,但是只是得到值。 http://nikelebron.net/feed / 和 http://www.nicekicks.com/feed/ 这两个rss种子中,需要在tag获取 src

- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock
{
 NSString *someString = [[NSString alloc] initWithData:CDATABlock  
                                          encoding:NSUTF8StringEncoding];
}

若要在解析器的 foundCDATA: 方法中获取 CDATA 块的值,可以使用 NSString 类的 initWithData:encoding: 方法将 CDATA 块转换为字符串。


例如,您可以在 foundCDATA: 方法中使用以下代码片段获取 CDATA 块的值:

- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock
{
    NSString *CDATAString = [[NSString alloc] initWithData:CDATABlock encoding:NSUTF8StringEncoding];
    NSLog(@"CDATA value: %@", CDATAString);
}

在上面的代码中,我们使用 initWithData:encoding: 方法将 CDATA 块转换为字符串,然后使用 NSLog 函数输出 CDATA 块的值。


请注意,如果您希望在 CDATA 块中包含的内容可以被解析为 XML,则应将 CDATA 块视为普通的 XML 元素,并使用相应的解析器方法来处理它。