`
awdxzc
  • 浏览: 333129 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JTidy HTML2XML

    博客分类:
  • J2SE
阅读更多
JTidy 一个能将HTML格式转换成XML的工具。

public class TestJTidy
{
    public static void main(String[] args)
    {
        Tidy tidy = new Tidy(); // obtain a new Tidy instance
        tidy.setXmlOut(true); // set desired config options using tidy setters
        tidy.setQuoteNbsp(false);
        tidy.setQuoteMarks(false);
        tidy.setQuoteAmpersand(false);
        tidy.setCharEncoding(Configuration.RAW);
        try
        {
            FileInputStream in = new FileInputStream(new File("c://a.html"));
            FileOutputStream out = new FileOutputStream(new File("output.xml"));
            tidy.parseDOM(in, out );
        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}


这里是从文件输入处理输出一个文件。 当然你可以不输出文件,parseDOM方法也是调用的parse方法。放回一个Document对象。你可以针对Document来进行业务处理。

JTidy 与NekoHTML


对这两者进行比较,似乎勉为其难。不过,我看NekoHTML时,发现JTidy也有解析HTML的功能,JTidy最新的班本是2001年8月发布的,一看日期就让我失望,不过呢,好像在2009年7月31日发布了新版本。JTidy主要是整理(tidy)HTML文件的,更多的是关注HTML的规范,尤其是当我看到那一堆设置参数时,不由得喜欢起来。Jtidy好用的原因是因为它定制功能很强大 ,Tidy类里面有一堆setter/getter函数,就是用来对功能进行定制的。 要想整理 HTML,用JTidy没错。 附表:HTML Tidy设置参考列表。

引用

public void setIndentContent(boolean IndentContent)  是否使用缩进
public void setSmartIndent(boolean SmartIndent)  节点结束后,是否另起一行
public void setQuoteMarks(boolean QuoteMarks)  用 "替换 "
public void setQuoteNbsp(boolean QuoteNbsp)
public Document parseDOM(java.io.InputStream in,java.io.OutputStream out)  转换为DOM对象
etAltText(java.lang.String altText)
加上默认的alt属性值
setBreakBeforeBR(boolean breakBeforeBR)
在换行<br />之前加一空行
setCharEncoding(int charencoding)
已废弃
setConfigurationFromFile(java.lang.String filename)
从文件中读取配置信息
setConfigurationFromProps(java.util.Properties props)
从properties中读取配置信息
setErrfile(java.lang.String errfile)
错误输出文件
setFixBackslash(boolean fixBackslash)
URL中用/取代\
setForceOutput(boolean forceOutput)
不管生成的xml是否有错,强制输出。
setHideComments(boolean hideComments)
结果中不生成注释
setInputEncoding(java.lang.String encoding)
输入编码
setLogicalEmphasis(boolean logicalEmphasis)
用em替代i,strong替代b
setMessageListener(TidyMessageListener listener)
加入一个TidyMessageListener监听器
setOnlyErrors(boolean onlyErrors)
只输出错误文件
setOutputEncoding(java.lang.String encoding)
输出编码
setPrintBodyOnly(boolean bodyOnly)
只输出body中的部分
setRepeatedAttributes(int repeatedAttributes)
重复属性的处理
setSpaces(int spaces)
每行前的空格数,就是缩进格式
setTidyMark(boolean tidyMark)
是否生成tidy标记
setTrimEmptyElements(boolean trimEmpty)
不输出空元素
setUpperCaseAttrs(boolean upperCaseAttrs)
属性变大写
setUpperCaseTags(boolean upperCaseTags)
标记变大写
setWraplen(int wraplen)
多长换行
setXHTML(boolean xhtml)
输出xhtml(扩展性html)
setXmlOut(boolean xmlOut)
输出xml
setXmlPi(boolean xmlPi)
文件头输出xml标记
setXmlSpace(boolean xmlSpace)
加入xml名字空间属性


如果你弄了半天还是被jtidy复杂的配置弄得晕头转向,你可以把他的 配置输出来看看 ,方法如下:
tidy.getConfiguration().printConfigOptions(new PrintWriter(System.out), true);

附:http://jtidy.sourceforge.net/


分享到:
评论

相关推荐

    JTidy配置手册,将Html页面转化为xml

    将Html页面转化为xml,将Html页面转化为xml,将Html页面转化为xml.

    Jtidy 将HTML转化成XML

    利用Jtidy工具, 将HTML转化成XML,这里给出简单的转换方法。

    html转换成xml使用的Jtidy类库

    html转换成xml使用的tidy类库,很好用也很简单,

    jtidy简单使用

    jtidy简单使用 java jtidy xml html

    jtidy-r820

    JTidy 一个能将HTML格式转换成XML的工具。 JTidy是HTML Tidy(一个HTML语法检查器和优雅的打印编排工具)的Java移植,除了本身具有的清除HTML文件难看或错误内容的功能外,还提供了一个DOM接口,程序员可以将JTidy...

    jtidy-04aug2000r7-dev.zip_ jtidy-r938-sources_JTidy-lizi_jtidy _

    JTidy的Jar包,用于清洗Html网页并可以将其转换为相应的Xml或是Xhtml文件。

    jtidy-r938.zip

    java将HTML转换为标准的XML文件

    Java通过DOM+Jtidy结合Mysql实现基于本地的简单的搜索系统

    (1) 研究将HTML数据转换为XML数据的方法 (2) 实现HTML数据到XML数据的转换 (3) 根据用的需求制定搜索规则 (4) 根据搜索规则搜索用户的感兴趣的信息 (5) 将搜索结果存储并应用

    android手机开发利器B4a最新库文件(截止到20170424)

    2011/11/30 周三 23:31 2,387 AnswerCall.xml 2017/02/21 周二 23:52 22 AppCompat.jar 2017/02/21 周二 23:52 186,047 AppCompat.xml 2014/06/10 周二 04:03 9,456 AppUpdating.jar 2014/06/10 周二 04:03 11,140 ...

    基于XML的web信息抽取系统

    毕业设计 信息抽取 HTML转换 页面清理 结果运用 HJP

    iuhyiuhkjh908u0980

    在工程目录下创建libs/hibernate/ ,放入 hibernate-tools-3.2.0.ga.jar jtidy-4aug2000r7-dev.jar build.properties project.name=sw project.version=1.0 basedir=. build.dir =${basedir}/build web.dir = ${...

    java开源包2

    它采用的是 JTidy 库对HTML进行处理。 INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper ...

    注释java源码-bazooka-wo-xmldoclet:wo-xmldocletJavadoclet的改进克隆,可从带注释的Java源代码

    这是一个doclet,可以在使用javadoc实用程序将文档数据从源代码生成到单个结构化XML文件而不是静态HTML文件时指定。 然后可以按照您想要的任何方式(例如,PHP解析器)解析和使用此数据。 如何建造 过程是编译Java...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    java开源包1

    它采用的是 JTidy 库对HTML进行处理。 INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper ...

    java开源包11

    它采用的是 JTidy 库对HTML进行处理。 INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper ...

    java开源包3

    它采用的是 JTidy 库对HTML进行处理。 INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper ...

    java开源包6

    它采用的是 JTidy 库对HTML进行处理。 INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper ...

    java开源包5

    它采用的是 JTidy 库对HTML进行处理。 INI文件操作类库 [ini4j] [ini4j] 是一个简单的Java类库,用来读写Windows的ini配置文件。同时还包含一个 Java Perferences API 的实现。 拒绝服务测试工具 Port Groper ...

Global site tag (gtag.js) - Google Analytics