HTML 网页解析技术的一些资料
现在做 Code Manager .SWT 的过程中不可避免的遇到了需要抓存网页以及网页内嵌的一些资源的问题.
现在
MHT 生成已经不成问题, 但是如何探测源文件编码以及把 MHT 解压缩(导出)为可以浏览的 HTML 文件(含图片等)是个大问题,
以及用户可视化编辑页面后重新保存为 MHT 的问题. Java 的 MHT 处理技术目前是有一家美国公司在卖, 还好我也实现了,
正在考虑完善后和他们竞争.
探测编码可以用:
1) 检测 HTTP 头的 Content Type 中的编码;
2) 检测正文中的 Content Type 中的编码.
解析 HTML 可以用两种方案:
1)
转换成 XHTML, 然后用 JDOM 转换成 DOM 树, 这种解析方式比较传统, 但是容错性上还没有做过检测, 这种方式的优点就是用
DOM 的方式便于成块的处理 HTML 以及存储.JSPWiki.org 的 HTML 转 Wiki 标签即用的此项技术.
2) 用 http://htmlparser.sourceforge.net/
的开源纯 Java HTML Parser 来分析, 但是反向存储(由修改后的模型再写回HTML)还没有研究如何使用.
一些资料: http://www.blogjava.net/lostfire/archive/2006/07/02/56212.html
http://scud.blog.javascud.org/post/192.htm
相关文档:
HTML特殊转义字符列表
2009-11-10 15:45
如何显示空格?
通常情况下,HTML会自动截去多余的空格。不管你加多少空格,都被看做一个空格。比如你在两个字之间加了10个空格,HTML会截去9个空格,只保留一个。为了在网页中增加空格,你可以使用 表示空格。
HTML特殊转义字符列表
最常用的字符实体
Character Ent ......
特殊符号
命名实体
十进制编码
特殊符号
命名实体
十进制编码
特殊符号
命名实体
十进制编码
Α
Α
Α
Β
Β
Β
Γ
Γ
Γ
Δ
Δ
Δ
Ε
Ε
Ε
Ζ
Ζ
Ζ ......
如何表示上级目录
../表示源文件所在目录的上一级目录,../../表示源文件所在目录的上上级目录,以此类推。
假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\index.html
在info.html加入index.html超链接的代码应该这样写:
<a href ......
HTML中使用input type="file"上传文件时,代码中只能得到文件的名称,而有些特殊的需要要求我们必须得到上传文件的绝对路径,为此我们采用Javascript实现得到文件的绝对路径。
具体如下。
页面代码(只粘贴了关键代码):
<form name="thisform" method="post"
action="<%=request.getContextPath()%>/movi ......