我是Objective C的新手,我正在使用帮助程序,它从Web服务返回一个XML有效内容作为NSXMLParser。我需要将该有效内容作为XML的NSString或NSData对象,以便我可以在另一个将该有效内容转换为NSDictionary的库中使用它。从NSXMLParser输出一个字符串
是否有一种简单的方法将此XML转换为字符串?从文档中,我发现我可以使用NSXMLParser的事件编写我自己的字符串生成器,但与使用其他语言的XML相比,这感觉像重新发明轮子。
我是Objective C的新手,我正在使用帮助程序,它从Web服务返回一个XML有效内容作为NSXMLParser。我需要将该有效内容作为XML的NSString或NSData对象,以便我可以在另一个将该有效内容转换为NSDictionary的库中使用它。从NSXMLParser输出一个字符串
是否有一种简单的方法将此XML转换为字符串?从文档中,我发现我可以使用NSXMLParser的事件编写我自己的字符串生成器,但与使用其他语言的XML相比,这感觉像重新发明轮子。
您可以将NSMutableData转换为字符串:
你发送请求:
conexion = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (conexion) {
webData = [NSMutableData data];
}
然后,解析WEBDATA字符串。在这个函数:connectionDidFinishLoading
NSString *XML = [[NSString alloc]
initWithBytes: [webData mutableBytes]
length:[webData length]
encoding:NSUTF8StringEncoding];
如果需要显示结果
NSLog(@"%@", XML);
这是否适合您?
NSString *googleString = @"http://www.google.com";
NSURL *googleURL = [NSURL URLWithString:googleString];
NSError *error;
NSString *googlePage = [NSString stringWithContentsOfURL:googleURL
encoding:NSASCIIStringEncoding
error:&error];
从这里 Reading HTML content from a UIWebView
从这里你应该能够隐蔽到的NSXMLParser或NSData的,但如果你提出这一要求的服务应该返回XML作为字符串。
听起来也许你应该刚刚绕过助手,并从Web服务获取XML自己。 – bdesham 2013-02-15 15:50:39
你出于某种原因需要使用特定的助手吗?我这样做的方式是使用'NSURLConnection' - 可以实现'NSURLConnectionDelegate'方法'-connectionDidReceivedData:'以便将数据附加到'NSMutableData'实例 - 然后可以将它们馈送到其他图书馆 – 2013-02-15 15:52:37
是的,每个人似乎都在说要跳过图书馆(这是AFXMLRequestOperation)。我会把它挂钩。我不知道为什么图书馆返回一个解析器而不是一个字符串......哦,好吧。 – Jelling 2013-02-15 17:17:06