在html页面中打印xml源代码

时间:2012-08-20 11:02:40

标签: html xml printing

所以我有一个servlet打印各种文件的内容。但是当我想打印.xml文件时,我的servlet页面不会打印任何内容,因为页面使用这个xml标签作为html并且正在解析它们而不是打印。我想打印这个标签。我正在逐行读取文件,行存储在变量行中。

2 个答案:

答案 0 :(得分:2)

如果您尝试将XML显示为HTML文档中的内容

浏览器无法更好地区分作者打算表示“开始标记”的<和作者打算表示“渲染此”的文字。

如果您希望将其显示为数据,则需要将其表示为&lt;

htmlentities equivalent in JSP?的答案解释了如何将一串文本转换为HTML字符串。


如果您尝试输出XML文档而不是HTML文档

您需要指定XML内容类型(例如application/xml)而不是HTML内容类型。

请参阅How to set the content type on the servlet以获取解释。

答案 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>");