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
相关文档:
有时,在数据取出一大段文字要输出到页面上,如果有回车符号,在页面会显示不出来。要显示要用到escape参数
escape="false".
<s:property value="aaa<br>aaa" escape="false"/>
这样就能分行显示了。
......
http://www.w3school.com.cn/htmldom/met_table_deleterow.asp
定义和用法
deleteRow() 方法用于从表格删除指定位置的行。
语法
tableObject.deleteRow(index)
说明
参数 index 指定了要删除的行在表中的位置。行的编码顺序就是他们在文档源代码中出现的顺序。<thead> 和 <tfoot> 中的行与表中其它行一起 ......
如何表示上级目录
../表示源文件所在目录的上一级目录,../../表示源文件所在目录的上上级目录,以此类推。
假设info.html路径是:c:\Inetpub\wwwroot\sites\blabla\info.html
假设index.html路径是:c:\Inetpub\wwwroot\sites\index.html
在info.html加入index.html超链接的代码应该这样写:
<a href ......
转载:http://jiangzhengjun.javaeye.com/blog/480996
事件
DOM同时支持两种事件模式:捕获型事件和冒泡型事件,但是,捕获型事件先发生。两种事件流会触及DOM中的所有对象,从document对象开
始,也在document对象结束(大部分兼容标准的浏览会继续将事件捕获/冒泡延续至window对象),DOM中的元素都会连续收到两次事 ......