以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 WORD to XML, HTML to XML 』  (http://bbs.xml.org.cn/list.asp?boardid=13)
----  tidy:将html转换为xhtml(xml)的工具,实例配合[原创]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=13&rootid=&id=54820)


--  作者:hongjuesir
--  发布时间:11/3/2007 2:39:00 AM

--  tidy:将html转换为xhtml(xml)的工具,实例配合[原创]
1.tidy能干什么

现在的网站大部分都是HTML的,如果希望将它们标准化,手工的一页一页修改非常麻烦。tidy就是一个能够把html页面转换为xhtml和xml的工具,对于html中许多不规范的标记甚至是错误的标记能够予以修正。

我们还可以利用它生成多种样式的标签代码风格。

当我们需要从原始的html中提取数据时,可以利用它先转换为xml格式数据,然后再利用开发语言中的xml操作类去提取。

2.功能示例

a.丢失匹配对:
   <h1>heading
   <h2>subheading</h3>
被修正为
   <h1>heading</h1>
   <h2>subheading</h2>

b.结束标记错误
   <p>here is a para <b>bold <i>bold italic</b> bold?</i> normal?
被修正为
   <p>here is a para <b>bold <i>bold italic</i> bold?</b> normal?

c.
   <h1><i>italic heading</h1>
   <p>new paragraph
修正为:
   <h1><i>italic heading</i></h1>
   <p>new paragraph

d.
   <i><h1>heading</h1></i>
   <p>new paragraph <b>bold text
   <p>some more bold text
修正为:
   <h1><i>heading</i></h1>
   <p>new paragraph <b>bold text</b>
   <p><b>some more bold text</b>

e.
   <h1><hr>heading</h1>
   <h2>sub<hr>heading</h2>
修正为:
   <hr>
   <h1>heading</h1>
   <h2>sub</h2>
   <hr>
   <h2>heading</h2>

f.将缺少的"/" 放到结束标签的位置:
   <a href="#refs">References<a>
修正为:
   <a href="#refs">References</a>

g.
   <body>
   <li>1st list item
   <li>2nd list item
修正为:
   <body>
   <ul>
   <li>1st list item</li>
   <li>2nd list item</li>
   </ul>

当标签属性值缺少引号,也会被加上,修正与属性值引号有关的错误

未知的标签和属性会报告出来

加入合适的DOCTYPE标签,使它符合w3c的标准

确少的 '>' 也会被修正

等等

3.多种格式化代码的风格:

a1.
<h1 align="right">
  Heading
</h1>

a2.
<h1 align="right">Heading</h1>

b1.
<td><img src="foo.gif"></td>
<td><img src="foo.gif"></td>

b2.
<td>
  <img src="foo.gif">
</td>
<td>
  <img src="foo.gif">
</td>

4.扩展
tidy不仅只有命令行的形式,还有GUI界面的版本和DLL的可别调用的库文件

5.实例操作

下载tidy和一个需转换的文档

此主题相关图片如下:
按此在新窗口浏览图片

cmd下通过:tidy -h可以查看相关命令选项

此主题相关图片如下:
按此在新窗口浏览图片

需转换文档的htm代码

此主题相关图片如下:
按此在新窗口浏览图片

转换后代码

此主题相关图片如下:
按此在新窗口浏览图片

转换的命令

此主题相关图片如下:
按此在新窗口浏览图片

6.参考和下载
http://www.w3.org/People/Raggett/tidy/
http://tidy.sourceforge.net/

cmd版tidy及示例文档下载


--  作者:fangel2000
--  发布时间:11/20/2007 9:39:00 PM

--  
上面是将html文档转换成xml文档,但是要提取网站上的某个网页文件,再转换成xml,怎么实现呢?
--  作者:hongjuesir
--  发布时间:11/25/2007 5:49:00 PM

--  
那就是先把那个目标文件下载保存起来,然后再进行转换。
下载目标html文件可以搜索相关资料。
--  作者:xndd
--  发布时间:11/26/2007 12:41:00 PM

--  
非常不错,不过喜欢gui版本
--  作者:fangel2000
--  发布时间:12/11/2007 12:10:00 PM

--  
以下是引用hongjuesir在2007-11-25 17:49:00的发言:
那就是先把那个目标文件下载保存起来,然后再进行转换。
下载目标html文件可以搜索相关资料。

你知道这方面的资料么?如何下载html文件?急需


--  作者:hongjuesir
--  发布时间:12/11/2007 7:11:00 PM

--  
如何下载html?在IE中另存为啊,如果要在程序里实现则翻阅相应语言手册
关于资料,最好是google一下
--  作者:XSLFO
--  发布时间:4/18/2008 11:13:00 PM

--  
我隐约记得,IBM网站上曾经介绍到:
1。用tidy对html进行处理, 使之成为格式规范的Html
2。然后将特定的Html文件,用XSLT进行转换,  切换到XML文件。

当然,由于Html文件格式较复杂, 所以没有通用的XSLT。
只能根据需求进行定制开发。


--  作者:fangel2000
--  发布时间:4/22/2008 12:10:00 PM

--  
同意楼上的观点
第一点正确的说法应该是:用tidy对html进行处理, 使之成为格式规范的XHTML
XHTML基本上已经是xml的语法了
这样的通用程序是没有的
--  作者:airglecorp
--  发布时间:5/21/2008 1:03:00 AM

--  
有没有直接的资料可以下载研究
--  作者:leo_navy
--  发布时间:11/30/2008 3:42:00 PM

--  
有不是2进制版的实例么?

--  作者:leo_navy
--  发布时间:12/2/2008 5:40:00 PM

--  哪位大哥能提供一个某html页面转xml的xsl样式表吗?急需!!!
哪位大哥能提供一个某html页面转xml的xsl样式表吗?急需!!!
--  作者:yulong0216
--  发布时间:3/23/2009 1:57:00 PM

--  
不错 顶一下
www.yinlingkeji.com
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
4,937.500ms