我是Objective C的新手,我正在使用一个帮助程序,它从Web服务返回XML有效负载作为NSXMLParser。我需要将该有效负载作为XML的NSString或作为NSData对象获取,以便我可以在另一个将有效负载转换为NSDictionary的库中使用它。
有没有简单的方法将此XML转换为字符串?从文档中,我看到我可以使用NSXMLParser的事件编写自己的字符串构建器,但与使用其他语言的XML相比,这感觉就像重新发明轮子一样。
答案 0 :(得分:1)
这对你有用吗?
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作为字符串返回。
答案 1 :(得分:0)
您可以将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);