0

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

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

4

2 回答 2

1

这对你有用吗?

NSString *googleString = @"http://www.google.com";
NSURL *googleURL = [NSURL URLWithString:googleString];
NSError *error;
NSString *googlePage = [NSString stringWithContentsOfURL:googleURL 
                                                encoding:NSASCIIStringEncoding
                                                   error:&error];

从这里 从 UIWebView 读取 HTML 内容

从这里您应该能够转换为 NSXmlParser 或 NSData 但如果您向服务发出此请求,它应该将 xml 作为字符串返回。

于 2013-02-15T16:00:58.150 回答
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);
于 2013-02-15T16:16:42.293 回答