Ios 从NSXMLParser输出字符串
我不熟悉Objective C,我使用一个助手作为NSXMLParser从web服务返回XML负载。我需要将该负载作为XML的NSString或NSData对象获取,以便我可以在另一个库中使用它,将该负载转换为NSDictionaryIos 从NSXMLParser输出字符串,ios,objective-c,Ios,Objective C,我不熟悉Objective C,我使用一个助手作为NSXMLParser从web服务返回XML负载。我需要将该负载作为XML的NSString或NSData对象获取,以便我可以在另一个库中使用它,将该负载转换为NSDictionary 有没有一种简单的方法将此XML转换为字符串?从文档中,我看到我可以使用NSXMLParser的事件编写自己的字符串生成器,但与在其他语言中使用XML相比,这感觉像是在重新发明轮子。这对您有用吗 NSString *googleString = @"http://w
有没有一种简单的方法将此XML转换为字符串?从文档中,我看到我可以使用NSXMLParser的事件编写自己的字符串生成器,但与在其他语言中使用XML相比,这感觉像是在重新发明轮子。这对您有用吗
NSString *googleString = @"http://www.google.com";
NSURL *googleURL = [NSURL URLWithString:googleString];
NSError *error;
NSString *googlePage = [NSString stringWithContentsOfURL:googleURL
encoding:NSASCIIStringEncoding
error:&error];
从这里
从这里,您应该能够转换到NSXmlParser或NSData,但是如果您向服务发出此请求,它应该将xml作为字符串返回 您可以将NSMutableData转换为字符串: 您发送请求:
conexion = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if (conexion) {
webData = [NSMutableData data];
}
然后将webData解析为字符串。在此函数中:connectiondFinishLoading
NSString *XML = [[NSString alloc]
initWithBytes: [webData mutableBytes]
length:[webData length]
encoding:NSUTF8StringEncoding];
如果需要显示结果
NSLog(@"%@", XML);
听起来你应该绕过helper,自己从web服务获取XML。出于某种原因,你需要使用这个特定的helper吗?我这样做的方式是使用
NSURLConnection
-可以实现nsurlconnectionlegate
方法-connectionidreceiveddata:
,以便将数据附加到NSMutableData
实例中-然后可以将其输入到其他库中是的,每个人似乎都在说跳过库(这是AFXMLRequestOperation)。我会连接它。我想知道为什么库返回的是解析器而不是字符串……哦,好吧。