最近项目空闲,开始研究起一些细节的东西,在和PM争论dom4j的时候出现了些分歧,于是想自己实现一下dom的实现过程。
首先自己先定义了一个Node类,用来保存每一个dom的节点。Node类里有每一个节点的信息:tag, 父节点,子节点,及节点之间的内容(这次模拟没有加入tag里的属性识别)。
下一个类是Document类,用来把字符转成DOM. 该类用了模式匹配来查找<**>这样的tag,并把每个tag用Node对象封装。
输出结果为:
firstElementTag:abe
firstElementTag->firstElementTag:c
firstElementTag->firstElementTag->firstElementTag:d
secendElementTag:acd
secendElementTag->firstElementTag:e