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 ......
for
(tmp
=
m_commentHead
;
tmp
;
tmp
=
tmp->next)
{
nCommentNum ++
;
memset(wBuffer,
0
......
转载:http://jiangzhengjun.javaeye.com/blog/480996
事件
DOM同时支持两种事件模式:捕获型事件和冒泡型事件,但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,从document对象开
始,也在document对象结束(大部分兼容标准的浏览会继续将事件捕获/冒泡延续至window对象),DOM中的元素都会连续收到两次事 ......
本节中的主题描述如何使用 Visual Web Developer 工具箱的“HTML”选项卡上的 ASP.NET Web 服务器控件。
默认情况下,服务器无法使用 ASP.NET 网页上的 HTML 元素;这些元素被视为传递给浏览器的不透明文本。但是,通过将 HTML 元素转换成 HTML 服务器控件,可以将它们公开为 ......
除了内置的 JavaScript 对象以外,你还可以使用 JavaScript 访问并处理所有的 HTML DOM 对象。
更多 JavaScript 对象
点击以下链接,可以获得以下对象的更多信息,包括它们的集合、属性、方法以及事件。
对象描述
Window
JavaScript 层级中的顶层对象。Windows 对象会呈现 (represent) 一个浏览器窗口。每当 <body& ......