我正在编写一个从 http 解析 XML 文件的程序。 XML 的根标签前面有一些空格。
因此,我需要在解析 XML 之前对其进行修剪。
这是我写的方法,
private String trimXML(InputStream inputStream){
Writer writer = null;
try{
writer = new StringWriter();
char[] buffer = new char[Constants.BUFFER_SIZE];
try {
Reader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
int n = 0;
while ((n = reader.read(buffer)) != -1) {
writer.write(buffer, 0, n);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} finally {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return writer.toString().trim();
}catch(NullPointerException e){
return null;
}
}
现在我面临一个大问题是在我请求XML几次后,出现内存不足错误...
有人可以给我一些解决这个问题的建议吗?
最佳答案
为什么? XML 解析器不关心空白。如果您收到无法解析的 XML 文档,解决方案是修复发送方,而不是在接收方乱搞一些东西。这样每个人都错了。
关于java - 修剪 XML 时出现内存不足错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5739108/