1

以前,我能够使用以下编码获取 URL 的内容:

<?xml version = "1.0" encoding = "UTF-8"?>

并将其解析为 NSString ,代码如下所示:

NSMutableData *receivedData =  [[[NSMutableData alloc] initWithContentsOfURL:[NSURL URLWithString:authenticateURL]] autorelease];
    NSString *string = [[[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding] autorelease];if (string) {   // if connection established, string will look for <error> in XML
        NSRange range = [string rangeOfString:@"<error>"];
        if (range.location == NSNotFound) {
            result = TRUE;
            NSLog(@"Authenticated!");  // if <error> not found, record is present
        }                           //return TRUE to load data
        else {
            result = FALSE;         // <error> found in XML, record is not found
            NSLog(@"Not Authenticated!");
        }
    }

但是,我现在需要获取的内容实际上是没有编码类型的,例如:

<?xml version="1.0" ?><authenticate><auth>Y</auth></authenticate>

因此,现在,当我 NSLog 字符串时,它是空的。已经尝试搜索其他方法,但我发现的所有示例,人们都可以使用 UTF8StringEncoding。很高兴有任何建议:)!谢谢!

4

4 回答 4

1

您可以结合使用开源库 TBXML 和https://gist.github.com/1922643将接收到的 XML 转换为 NSDictionary。它支持 NSData(使用 NSUTF8StringEncoding)和普通的 NSStrings。

此 NSDictionary 包含 XML 中可用的所有信息,您可以使用 objectForKey: 函数读取它。

于 2012-08-21T08:25:34.347 回答
1

您应该使用 NSXMLParser 或使用现成的解析器http://www.developers-life.com/simple-xml-parser-based-on-nsxmlparser-converter.html

于 2012-08-21T08:28:21.947 回答
0

你可以使用NSXMLParser 类

这是一个很好的教程,向您展示如何使用此类

于 2012-08-21T08:48:37.260 回答
0

对不起,实际上我无法从 URL 中检索 XML 的原因是因为一些 SSL 问题。我使用的解决方案可以在这里找到:How to use NSURLConnection to connect with SSL for an untrusted cert?

也谢谢大家帮忙^^

于 2012-08-29T10:22:15.593 回答