从NSXMLParser输出字符串

时间:2013-02-15 15:29:08

标签: ios objective-c

我是Objective C的新手,我正在使用一个帮助程序,它从Web服务返回XML有效负载作为NSXMLParser。我需要将该有效负载作为XML的NSString或作为NSData对象获取,以便我可以在另一个将有效负载转换为NSDictionary的库中使用它。

有没有简单的方法将此XML转换为字符串?从文档中,我看到我可以使用NSXMLParser的事件编写自己的字符串构建器,但与使用其他语言的XML相比,这感觉就像重新发明轮子一样。

2 个答案:

答案 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);