ええとをいただければ幸いです
public void updateDatabaseFromWebservice(){
// get data from webservice
Log.i(TAG, "Obtaining categories from webservice");
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(ConnectionProperties.CATEGORIES_URI);
ResponseHandler<String> handler = new BasicResponseHandler();
String result = "";
String decoded;
String encoded;
try {
result = client.execute(request, handler);
decoded = URLDecoder.decode(result, "UTF-8");
encoded = URLEncoder.encode(result, "UTF-8");
String c = "AS";
} catch (Exception e) {
Log.e(TAG, "An error occurred while obtaining categories", e);
}
client.getConnectionManager().shutdown();
}
:
は、ここでWebサービスを呼び出すメソッドです。 URLDecoderおよびエンコーダは、XMLコンテンツではなく、URLをエンコードおよびデコードするためのものです。リクエスト時に使用するURLに使用されます。だからコードはちょうど間違っている。
しかし、さらに大きな問題は、コンテンツが実際に解析される必要があるコンテンツである一方で、Stringを取っていることです。パーサーがUTF-8の適切なデコード(エンティティの処理など)を行うためには、リクエストからバイト[]を取得してパーサに渡す方が良いでしょう。 httpクライアントにデコードを依頼することもできますが(サービスが正しくエンコードされていることを前提としていると仮定して、XMLパーザはXML宣言からXMLパーザを理解することができます。
So:URLDecoder/URLEncoderの内容、パーサーXMLを削除し、XMLから必要なデータを抽出します。
を、ありがとう! – baekacaek