我正在从一个 url 解析一个 xml,通过
rssParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];
[rssParser parse]
如何 NSLog 它以便在控制台中查看 xml ???如果我使用
NSLog ("%@",rssParser);
我在控制台中显示了“XMLParser x 4d562”
我正在从一个 url 解析一个 xml,通过
rssParser = [[NSXMLParser alloc] initWithContentsOfURL:xmlURL];
[rssParser parse]
如何 NSLog 它以便在控制台中查看 xml ???如果我使用
NSLog ("%@",rssParser);
我在控制台中显示了“XMLParser x 4d562”
您应该设置解析器的委托并在其方法中处理检索到的 xml 数据。请参阅NSXMLParserDelegate协议参考。
你不能。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 机制来代替异步连接。