提问人:ronluna 提问时间:9/21/2012 最后编辑:Brad Werthronluna 更新时间:3/19/2013 访问量:433
ASIHTTPClasses 和 iOS6
ASIHTTPClasses and iOS6
问:
我的应用程序在以前的 iOS 版本上一直正常工作。我刚刚升级到 iOS6,现在应用程序在处理 XML 请求/响应时返回错误。
应用向服务器发送 XML 请求并接收 XML 响应,但现在响应为空“<>”,导致 NSXMLParser 失败。
以下是应用程序发送请求的方式(这曾经工作过,在 ios6 之前):
[request setURL:[NSURL URLWithString:url]];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"text/xml" forHTTPHeaderField:@"Content-Type"];
//[request setValue:@"application/x-www-form-urlencoded charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSURLConnection *conn=[[NSURLConnection alloc] initWithRequest:request delegate:self];
if (conn)
{
receivedData = [[NSMutableData data] retain];
}
但现在的响应是空的“<>”。
parser error is Error Domain=NSXMLParserErrorDomain Code=9 "The operation couldn’t be completed. (NSXMLParserErrorDomain error 9.)", path to file is :
/Users/ronluna/Library/Application Support/iPhone Simulator/6.0/Applications/5BA74D89-1967-4B9E-A1C0-B076F7BB9064/Documents/Menus.xml
任何想法可能是什么问题?
答:
0赞
drexsien
10/1/2012
#1
嗨,我也遇到了同样的问题。尝试将 xml 文件的格式更改为不带 BOM 的 UTF-8,或者如果要在服务器端脚本上填充 xml,请尝试将字符集更改为 UTF-8。希望这会有所帮助。
0赞
hungdm9999
3/19/2013
#2
请确保使用 xml 格式指定的编码创建 NSData 对象。 即,如果 XML 具有 UTF-8 编码,则您应该具有: NSData* d = [xmlResponseStrings dataUsingEncoding:NSUTF8StringEncoding]; 在您的代码中, 其他 NSUnicodexxxxx 编码将不起作用。 希望这会有所帮助。
评论