将HTML文档转换成XML
2009年5月11日星期一 | | | 来源:互连网 作者:互连网 发布时间:2005-04-01 在 Java 专家 Michael Geisler 为 Builder 澳大利亚写的第一篇文章中,他向读者展示了如何使用 JTidy 将 HTML 文档转换成 XML。 有关 Java 的最重要的事情是有很多扩展标准库能够作为标准平台的一部分,而且在那些库中有对 XML 提供了很多的支持。然而对于某些特定的需要,在标准库中可能没有直接的支持。 其实您有两个选择: 完全由自己来构建一些东西。这一般很痛苦,而且很费时间。 去"社区"看看是否已有人碰到了同样的问题(这种情况很有可能发生),看他是否乐意和您分享他的成果。 对于这个情况,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(args[0], args[1], args[2]); t.convert(); } } 我的QQ空间 Mysql+PHPmyadmin提权技巧 Mysql+PHPmyadmin提权技巧本篇文章来源于 新世纪网安基地 (www.5... |