在 Java 专家 Michael Geisler 为 Builder 澳大利亚写的第一篇文章中,他向读者展示了如何使用 JTidy 将 HTML 文件转换成 XML。
有关 Java 的最重要的事情是有很多扩展标准库可以作为标准平台的一部分,而且在那些库中有对 XML 提供了非常多的支持。然而对于某些特定的需要,在标准库中可能没有直接的支持。
其实你有两个选择:
1.完全由自己来构建一些东西。这一般很痛苦,而且很费时间。
2.去“社区”看看是否已经有人遇到了同样的问题(这种情况非常有可能发生),看他是否乐意与你分享他的成果。
对于这个情况,SourceForge 上有一个非常有用的小项目,叫做 JTidy。JTidy 的Web 站点位于 http://sourceforge.net/projects/jtidy/。
JTidy 提供 HTML 语法检查和 HTML 的“pretty printing(漂亮打印)”,但是对于你来说,它还允许你将一个 HTML 文件作为输入,然后将其转换成为 XML。JTidy 读取输入文件,然后如果发现有任何不匹配或遗漏的闭合标记,将纠正这些标记,最后输出一个格式良好的 XML 文档。
从下面的示例代码中可以看到,JTidy 的用法相当简单。简单地将 JTidy 实例设置为输出 XML,提供一个输入 URL,输出文件和错误文件,然后启动转换过程就可以了。
import java.net.URL;
import java.io.*;
import org.w3c.tidy.Tidy;
public class TestHTML2XML {
private String url;
private String outFileName;
private String errOutFileName;
public TestHTML2XML(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();
// Tell Tidy to convert HTML to XML
tidy.setXmlOut(true);
try {
// Set file for error messages
tidy.setErrout(new PrintWriter(new FileWriter(errOutFileName), true));
u = new URL(url);
// Create input and output streams
in = new BufferedInputStream(u.openStream());
out = new FileOutputStream(outFileName);
// Convert files
tidy.parse(in, out);
// Clean up
in.close();
out.close();
} catch (IOException e) {
System.out.println(this.toString() + e.toString());
}
}
public static void main(String[] args) {
/*
* Parameters are: URL of HTML file Filename of output file Filename of
* error file
*/
TestHTML2XML t = new TestHTML2XML("http://www.baidu.com",
"E:\\test.xml", "E:\\error.xml");
t.convert();
}
}
分享到:
相关推荐
本代码实现了将一个html文件转成xml文件
这是我根据网上一些代码,自己改写的程序,完成html格式转换成为标准的xml格式,虽然转换后有一点小错误,但转换后文件能有浏览器打开并能用Dom解析
javaxml,xsl,html文件转换.pdf
将HTML文件转换成xml格式
xml的转化,这是一个例子,将一个xml文件转化成一个html文件
主要对xml语言的理解和学习,xml文档的应用比较广泛
2.在将压缩文件解压后,在cmd 下切换到此文件夹目录,运行batConvert.py 并带上要转换的目录的路径作为参数 C:\>C:\batConvert.py D:\targetFolder plutil.pl character_6_3_default.plist 下载网站: ...
自制工具,将AndroidStudio 的 VectorDrawable xml 资源逆向转回 svg文件方便编辑。工具为带js的html,上方输入框贴入xml,下方输入框输出svg代码结果以及svg预览 注意目前仍未支持渐变填充
我采用xml文件记录表单中需要的数据,使用XSLT在服务器端或客户端将该xml文件转换成HTML中需要的FORM表单. 该XSLT是一个通用的模式,只需要简单的模仿例子中的xml文件格式,就可以生成所有形式的表单.
javaxml,xsl,html文件转换[定义].pdf
能够将doc,txt,xml,html格式文件转换成txt文件
将pdf转为html文件,这里只提供了相关资源文件,调用程序之后提供
xml 这是我根据实际需求总结出的xml操作类库,还一个txt文件是我的例子 想研究的人就看看吧。反正一切以实用为主。 主要是没有csdn没分了。才贴点东西上去,不好之处请大家谅解啊,程序完全可以自由扩展!
javaxml,xsl,html文件转换借鉴.pdf
我做了一个网站文件和XML文件互相转换的类,发布出来方便大家使用。 /** * @author shadu####foxmail.com * @version v0.2 * @updated 2009-05-20 * @desc Covert the files on the website to one XML,where ...
网上的一些java读取word文件写的不是很详细(不知道是我自己的水平不行?) 这里用jacob将word文档转换成html 并且是按原格式显示 真的很实用
具有GUI的简单转换器工具(在JavaFX上编写),用于将大型XML文件转换为JSON以及将JSON转换为XML(指示进度),并使用少量内存进行转换。 从1.2.0版开始,应用程序支持按模式从目录批量转换文件。 使用Java 1.8+...