0

私のアプリは以前の 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

何が問題になる可能性がありますか?

4

2 に答える 2

0

xml形式で指定されたエンコーディングでNSDataオブジェクトを作成してください。つまり、xmlにutf-8エンコーディングがある場合は、次のようにする必要があります。NSData * d = [xmlResponseStrings dataUsingEncoding:NSUTF8StringEncoding]; コードでは、他のNSUnicodexxxxxエンコーディングは機能しません。この助けを願っています。

于 2013-03-18T16:58:33.267 に答える
0

こんにちは、同じ問題が発生しました。xml ファイルの形式をBOM なしの UTF-8 に変更してみてください。または、サーバー サイド スクリプトで xml を設定している場合は、文字セットをUTF-8に変更してみてください。お役に立てれば。

于 2012-10-01T06:53:45.307 に答える