所以我有一个servlet打印各种文件的内容。但是当我想打印.xml文件时,我的servlet页面不会打印任何内容,因为页面使用这个xml标签作为html并且正在解析它们而不是打印。我想打印这个标签。我正在逐行读取文件,行存储在变量行中。
答案 0 :(得分:2)
如果您尝试将XML显示为HTML文档中的内容:
浏览器无法更好地区分作者打算表示“开始标记”的<
和作者打算表示“渲染此”的文字。
如果您希望将其显示为数据,则需要将其表示为<
。
htmlentities equivalent in JSP?的答案解释了如何将一串文本转换为HTML字符串。
如果您尝试输出XML文档而不是HTML文档:
您需要指定XML内容类型(例如application/xml
)而不是HTML内容类型。
答案 1 :(得分:2)
如果要在HTMl页面中打印xml内容,可以使用Apache commons lang库中的StringEscapeUtils.escapeHtml()函数将xml文件内容写入HTML页面
PrintWriter writer = response.getWriter();
writer.write("<html><head></head><body>");
writer.write(StringEscapeUtils.escapeHtml(xmlContent);
writer.write("</body></html>");