xmlファイルの先頭に余分な文字が表示され、これが私の解析メソッドにエラーを引き起こします。私はURLからファイルを読み込むためにInputStreamReaderを使用しています。この余分な文字を削除するにはどうすればよいですか? in xml read
?<?xml version="1.0" encoding="utf-8"?>
私のコードなので、(バイトオーダーマーク)、BOMと呼ばれ、あなたはそのxmlファイルを読むためにXMLパーサのインスタンスを使用する必要があります
public class Client {
private static final String TAG = "Client";
public Client(){
}
InputStream executePost(String targetURL, String urlParameters){
URL url;
HttpURLConnection connection = null;
try{
//Create connection
url = new URL(targetURL);
//Log.i(TAG,"Connecting to : "+targetURL);
connection = (HttpURLConnection)url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type",
"text/xml; charset=utf-8");
connection.setRequestProperty("Content-Language", "en-US");
connection.setRequestProperty("User-Agent",
"Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11");
connection.setUseCaches(false);
connection.setDoInput(true);
connection.setDoOutput(true);
//get response
InputStream is = connection.getInputStream();
InputStreamReader reader = new InputStreamReader(is,"UTF-8");
BufferedReader br = new BufferedReader(reader);
String line ="";
while((line = br.readLine()) != null){
System.out.println(line);
}
return is;
}catch(Exception e){
//Log.i(TAG,"Unable to create connection");
e.printStackTrace();
return null;
}finally {
if(connection != null) {
//Log.i(TAG,"Disconnecting");
connection.disconnect();
}
}
}
}
あなたはファイルをどのようにエンコードしていますか?これはどの言語ですか、どんなプラットフォームですか? – Oded
@Oded xmlパーサーがこれを手渡すことができる "UTF-8" – Fabii