显示标签为“html”的博文。显示所有博文
显示标签为“html”的博文。显示所有博文

2007-05-21

HTML Parser 结果

这里贴出HTML Parser的结果。将一个HTML文档转化为树结构。为了表示树结构,我用了缩进的表示方法,一个节点的子节点比它缩进更多。

2007-05-20

HTML Parser : CSS Parser

现在已经可以将HTML解析成DOM,现在的任务是视觉上的,就是解析CSS,从而获得每一段文本的位置和字体,颜色等信息。这一步也不是很困难。

其实我认为HTML Parser中最困难的是Javascript的解析,这个难度和写一个编译器差不多了,我感觉我可能搞不定。可以找找这方面的开放源代码。

其实,如果把HTML,CSS,JavaScript都解析了,也就离做一个浏览器差不多了,嘿嘿

2007-05-18

HTML Parser 0.0

I have finish the simple html parser, in this parser, I convert html document to a Tree. Like Javascript, I design following functions in my C++ HTML Parser Library:
  1. getElementById
  2. innerHTML

已经初步完成了HTML Parser, 可以将HTML文档解析成一棵树。为了使用方便,我参照了JavaScript DOM的设计方法,给出了以下函数:

  1. 为了获得文档中的某个节点,可以用 getElementByID
  2. 为了获得某个节点的html代码,可以用 innerHTML

HTML Parser的编写还在继续中,现在主要是测试大量的文档,因为HTML Parser的最大困难是容错。

HTML 解析

这个问题烦了我们很久了,目标就是将HTML解析成DOM,这方面的C++开源代码几乎没有,只有借用firsfox的解释器。但是firefox的规模太大,用起来很不方便。

对这个问题我不爽了很久了,我决定不再不爽下去了,我准备花点时间把它彻底解析了。HTML解析的最大难度,在于HTML标准的高度不规范,它的解释器需要写的高度容错。这个很有挑战。

2007-05-16

HTML Tree : HtmlParser

最近在研究HTML解析,这方面的C++的库太少了,只发现了一个HTML_Tree。正在研究中,这个库将HTML文档解析成一棵树。

2007-02-28

HTML DOM

DOM 是 Document Object Model 的简称。DOM将文档组织成树状模型。从而将不同的文档表示成统一格式,便于文档的解析。DOM在XML解析中应用很多,其实HTML也是可以转变为DOM的。如下图所示:



把HTML直接去除标记,转化为ASCII文档,丢失了这种层次结构,损失了部分信息。而DOM是一个无损的HTML文档表示方法。可以方便的解决HTML在内存中的表示问题。