在 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文件
最后,我们将使用 JavaScript 语言来将 XML 文档和 XSLT 文件加载到 HTML 文档中,并将其转换成 HTML 文档。 <html> 使用 XSLT 实现 XML 文档到 HTML 文档的转换 function xslt(){ var XMLdocument1 = new ...
- 原始HTML文件可能使用了不同的字符集(如GB2312),需要将其转换为统一的UTF-8编码,以便后续处理。 2. **Tidy参数的作用**: - 上述参数的设置主要目的是让转换后的文档更加符合XML的标准要求,例如去除某些...
XSLT是一种用于转换XML文档的语言,它可以将一个XML文档转换成另一个XML文档或任何其他格式的文档,包括HTML。 ##### 实现步骤详解 1. **导入相关包**:在Java程序中使用XSLT进行转换前,需要导入必要的包,如`...
本话题主要涉及的是如何将HTTP文件转换为XML文件。HTTP(超文本传输协议)主要用于Web通信,而XML(可扩展标记语言)则是一种结构化数据表示方式,常用于数据交换和存储。下面将详细阐述这一过程,以及VC(Visual ...
通过对 Java 代码的分析,我们可以了解到如何将 XML 文件转换为 HTML 文件,并了解到 XSL 模板的应用。 首先,让我们了解什么是 XML、XSL 和 HTML。XML(Extensible Markup Language)是一种标记语言,用于存储和...
这个“XML文件批量转换CSV文件工具”是一款便捷的应用程序,设计用于将XML格式的数据转换成CSV(Comma Separated Values)格式。CSV是一种通用的、轻量级的文件格式,适合于导入和导出到各种数据分析和电子表格软件...
本文将深入探讨XML与HTML之间的转换,以及如何实现这一过程。 XML的特性: 1. 可扩展性:XML允许用户自定义标签,以适应特定领域或应用的需求。 2. 结构化:XML文档基于严格的树形结构,每个元素都有开始标签和结束...
2. **SgmlReader与XmlTextWriter的使用**:在示例代码中,`SgmlReader`类被用来读取HTML内容并将其转换成符合XML规范的数据流。它能够处理HTML中的不规范性,如不闭合的标签等,从而使其适合作为XML数据源。`...
在实验 2 中,我们将学习如何使用 XSL 处理器处理 XML 文件和 XSL 文件,转换输出 HTML 文件。实验步骤如下: 1. 首先,创建一个 XML 文件,例如: ``` <?xml version="1.0" encoding="utf-8"?> <ListTitle>...
“客户端TBL互转XML.rar”是一个压缩包,包含了一个名为“客户端TBL互转XML.exe”的可执行文件,这个工具可能用于将客户端的TBL文件转换成XML文件。这种转换工具有助于开发者、数据分析师或游戏玩家解析和编辑原本...
SWHtml2XML是一款专门用于将HTML文件转换成XML文件的工具。在IT行业中,这种转换有时是必要的,因为XML和HTML虽然都与数据结构和网页内容有关,但它们的用途和格式规范却大不相同。HTML(超文本标记语言)主要用于...
为了解决这一问题,我们引入了一款高效的工具——XmlNotepad v2.5,它能快速将大数据量的字符串转换成XML格式,大大提升了工作效率。 XmlNotepad是由Microsoft开发的一款轻量级的XML编辑器,它具有直观的用户界面和...
2.在将压缩文件解压后,在cmd 下切换到此文件夹目录,运行batConvert.py 并带上要转换的目录的路径作为参数 C:\>C:\batConvert.py D:\targetFolder plutil.pl character_6_3_default.plist 下载网站: ...
Java XML、XSL、HTML 文件转换是软件开发中的一种常见技术,主要用于将 XML 文件转换为 HTML 文件或其他格式的文件。下面将对该技术进行详细介绍。 XML 文件是什么? XML(Extensible Markup Language)是一种...
在IT行业中,转换文件格式是一项常见的任务,特别是对于专业文档如PDF来说,有时我们需要将其转换成其他格式,比如HTML或XML,以便于网络发布、数据提取或者进一步的文本处理。这个压缩包文件“跟踪评级”可能包含了...
它能够帮助开发者处理不规则或不标准的HTML代码,将其转换成结构化的XML文档,便于进行进一步的数据提取和处理。在标题中提到的"将html转换为XML的控件",就是指HtmlAgilityPack的核心功能之一。 在描述中提到了...
将这个`<link>`标签添加到HTML文件(如a.htm)的`<head>`部分,就可以应用XSL转换规则来美化XML数据的显示。 总结一下,纯HTML静态调用XML文件并利用XSL进行显示修饰的流程包括: 1. 使用`<object>`或`<iframe>`...
5. **性能优化**:对于大量HTML文件的转换,性能优化是关键。这可能涉及缓存重复的元素、避免不必要的内存分配以及使用流式处理等策略。 6. **用户界面(UI)设计**:如果该工具具有图形用户界面,那么我们需要关注...
本文将详细讲解如何将搜狗浏览器导出的XML文件转换为IE浏览器能识别的格式,并将其导入到IE的收藏夹中。 首先,搜狗浏览器提供了导出收藏夹的功能,用户可以通过设置导出收藏夹为XML文件。这个XML文件包含了所有...