0

我正在从一个 url 解析一个 xml,通过

 rssParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];
[rssParser parse]

如何 NSLog 它以便在控制台中查看 xml ???如果我使用

NSLog ("%@",rssParser);

我在控制台中显示了“XMLParser x 4d562”

4

2 回答 2

2

您应该设置解析器的委托并在其方法中处理检索到的 xml 数据。请参阅NSXMLParserDelegate协议参考。

于 2010-01-08T11:37:00.280 回答
1

你不能。NSXMLParser 类永远不会一次将 XML 流的全部内容加载到内存中(这就是为什么它是“NSXMLParser”而不是“NSXMLDocument”的原因)。您应该从 URL 下载数据,并使用它来实例化您的 RSS 解析器,并创建一个您记录的 NSString:

NSData *data = [NSData dataWithContentsOfURL:xmlURL];
rssParser = [[NSXMLParser alloc] initWithData:data];
NSString *string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"data: %@", string);
[string release];

请注意“initWithContentsOfURL:”方法是同步的,并且会阻塞您的 UI 线程,直到数据下载完成。您可能希望使用 ASIHTTPRequest 或 NSURLConnection 机制来代替异步连接。

于 2010-01-08T11:50:49.797 回答