最近在生成接口的xml文件时发现这样的情况:
在IE下显示正常的接口xml文件,然而在火狐下提示 “xml处理指令不在外部实体的开始部分”。
原因: 在火狐下认为 xml文件的根节点必须是顶格书写,也就是说<?xml ……> 这一行必须是位于第一行的。
而在IE下貌似可以很好的兼容这一点,所以没有出现提示相关的信息。
久其原因: 我们在实际的接口文件(JSP 、 ASP)中很难完全避免 空格、 空行、 换行的出现,倘若能全部去除这些在实际生成文件时产生的 空格、 空行、 换行的话,火狐下的那种提示信息也就可以避免了。
下面给出另一种较为简便的做法:
response.reset();
response.setContentType("text/xml;charset=GBK");
out.clear();
out.println(result.toString());
out.close();