java – 如何使JTIdy使HTML文档格式良好?
发布时间:2020-12-14 05:57:52 所属栏目:Java 来源:网络整理
导读:我正在使用JTidy v.r938.我正在使用此代码尝试清理页面… final Tidy tidy = new Tidy();tidy.setQuiet(false);tidy.setShowWarnings(true);tidy.setShowErrors(0);tidy.setMakeClean(true);Document document = tidy.parseDOM(conn.getInputStream(),null);
我正在使用JTidy v.r938.我正在使用此代码尝试清理页面…
final Tidy tidy = new Tidy(); tidy.setQuiet(false); tidy.setShowWarnings(true); tidy.setShowErrors(0); tidy.setMakeClean(true); Document document = tidy.parseDOM(conn.getInputStream(),null); 但是当我解析这个URL-http://www.chicagoreader.com/chicago/EventSearch?narrowByDate=This+Week&eventCategory=93922&keywords=&page=1时,事情并没有得到清理.例如,页面上的META标签就像 <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> 保持为 <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> 而不是“< / META>”标记或显示为“< META http-equiv =”Content-Type“content =”text / html;字符集= UTF-8 “/>” 中.我通过将生成的JTidy org.w3c.dom.Document输出为String来确认这一点. 我能做些什么才能让JTidy真正清理页面 – 即使其格式正确?我意识到还有其他工具,但这个问题与使用JTIdy有关. 解决方法
如果需要XML格式,则需要为Tidy指定几个标志
private String cleanData(String data) throws UnsupportedEncodingException { Tidy tidy = new Tidy(); tidy.setInputEncoding("UTF-8"); tidy.setOutputEncoding("UTF-8"); tidy.setWraplen(Integer.MAX_VALUE); tidy.setPrintBodyOnly(true); tidy.setXmlOut(true); tidy.setSmartIndent(true); ByteArrayInputStream inputStream = new ByteArrayInputStream(data.getBytes("UTF-8")); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); tidy.parseDOM(inputStream,outputStream); return outputStream.toString("UTF-8"); } 或者只是想要XHTML表单 Tidy tidy = new Tidy(); tidy.setXHTML(true); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – JAXB Schemagen和解组错误
- java程序员必须知道的4个书写代码技巧
- java HttpServletRequest和HttpServletResponse详解
- model-view-controller – 使用带MVC DataAnnotations和Met
- java之接口
- java – 如何将HTML转换为文本保持换行符
- java – 通过keycloak管理客户端在keycloak中创建用户返回I
- Spring Boot 启动端口如何启动
- 回敬Python蹭女神热度助发朋友圈,Java实现头像分成九宫图,
- Java 连接远程Linux 服务器执行 shell 脚本查看 CPU、内存、