- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
jtidy使用
? 查看文章 ? JTidy的使用
2008-06-16 10:46
jTidy是一个可以将html文件转换为xml(准确说是xHTML文件)的一个开源工具,因为以后可能会将当前的页面进行转换,如转换为pdf,转换为doc等,很多是通过xml文件来转换的,所以这里看了一些jTidy的使用方法。jTidy的官方地址是/ ,先看看官方是怎么描述jTidy的吧。Jtidy是HTML Tidy的一部分,一个HTML语法检查器,并且可以输出漂亮的格式。jtidy可以用来作为一种工具来清理恶意的和错误的HTML。另外,JTidy为需要处理的文档提供了一个DOM接口,JTidy作为一个DOM解析器,可以有效的为你解析现实世界的HTML文件。JTidy由Andy Quick编写,现在jtidy由一批志愿人员维持。大家点击”下栽“链接,系统会链接到sourceforge站点,这时大家会发现一个惊奇的事情,JTidy目前的最新版本分布时间为:2001-08-01 08:19天呀,难道JTidy的开发人员绝对这个东东已经非常完美了,还是大家已经做鸟兽散了?这个先不管,先看看怎么使用再说吧。还是通过例子最好:引入jTidy的jar包,建立工程,如图:
现在把 HtmlToXML.java 的代码粘贴出来,大家结合注释,一看就明白package com.css;import org.w3c.tidy.Tidy;import java.io.*;import .URL;/*** Created by IntelliJ IDEA.* User: liuzhy* Date: 2008-6-13* Time: 11:20:58* To change this template use File | Settings | File Templates*/public class HtmlToXML {??? private String url;??? private String outFileName;??? private String errOutFileName;??? public HtmlToXML(String url, String outFileName, String errOutFileName) {??????? this.url = url; //目标页面地址??????? this.outFileName = outFileName; //输出文件的地址和名称??????? this.errOutFileName = errOutFileName; //输出错误文件的地址和名称??? }??? public void convert() {??????? URL u;??????? BufferedInputStream in;??????? FileOutputStream out;??????? Tidy tidy = new Tidy();??????? tidy.setXmlOut(true); ??????? tidy.setXmlPi(true);?? //添加 ?xml? 标签 为输出的 XML 文件, 这些参数是可选的。??????? tidy.setXmlSpace(true);??????? tidy.setCharEncoding(Configuration.ISO2022); //这个很重要,如果没有它,就会出现中文乱码/*我看了一下源码,上面对charEncoding是这样规定的??? /* character encodings */??? public static final int RAW???????? = 0;??? public static final int ASCII?????? = 1;??? public static final int LATIN1????? = 2;??? public static final int UTF8??????? = 3;??? public static final int ISO2022???? = 4;??? public static final int MACROMAN??? = 5;*/??????? try {//错误文件的输入地址和名称??????????? tidy.setErrout(new PrintWriter(new FileWriter(errOutFileName), true));??????????? u = new URL(url);//建立输入和输出文件??????????? i
文档评论(0)