FF下提示xml处理指令不在外部实体的开始部分
最近在生成接口的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();
?