さて、私がやろうとしているのは、Webサービスから取得したデータを使用するJavaプログラムを作成することです。データを取得できますが、XMLドキュメントの形式であり、(Eclipse)コンソールに出力すると、すべての文字の間にスペースがあり、replaceAllメソッドが機能しません。コードの関連部分は以下のとおりです。
BufferedReader reader = new BufferedReader(new InputStreamReader(new URL(webAdress).openStream()));
String XMLcode = reader.readLine();
XMLcode = XMLcode.concat(reader.readLine());
XMLcode = XMLcode.replaceAll(" ", "");
System.out.println(XMLcode); //in the finished program, I will do something with the data in the XML document.
結果は次のようになります-
þÿ < ? x m l v e r s i o n = " 1 . 0 " e n c o d i n g = " U T F - 8 " ? >
続いて、私が探している実際のデータが続きます。一部のインターネット検索では、þÿはこれがテキストエンコーディングの問題であることを意味していましたが、UTF-8をUTF-16に変換するために見つけたすべての方法は役に立ちませんでした(ただし、þÿを??に変更します)。誰かがこれを修正する方法を知っているか、ファイルで利用可能である必要のないXMLを読み取る「標準的な」方法を知っていますか?
注-私は問題のWebサービスを作成しなかったため、Webサービスを変更できず、実際にどのように機能するかわかりません。