好的,所以我要做的是创建一个使用从 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?
注意-我没有制作有问题的网络服务,因此无法修改它,也不知道它是如何工作的。