上網(wǎng)看了很多java的XML-Object Mapping開源項(xiàng)目,比如JiBX、Castor、Zeus。他們的設(shè)計(jì)思想很好,但是美中不足的就是他們都要手動(dòng)寫一些東西進(jìn)行文件映射,這樣帶來(lái)的是靈活性,但是隨之而來(lái)的就是復(fù)雜性。等所有東西都配置好了,終于可以輕松的進(jìn)行xml解析和生成的時(shí)候,浪費(fèi)的時(shí)間有可能比直接用dom解析還要多。因此我急切需要一個(gè)類似與Delphi中XMLData binding的xml解析類。現(xiàn)在正在分析Delphi的XMLData binding的類結(jié)構(gòu),不過uml工具還沒有下載下來(lái),我想一邊分析Delphi的實(shí)現(xiàn)一邊把它轉(zhuǎn)化成類圖,分析完了,類圖也就畫完了,然后用uml工具自動(dòng)轉(zhuǎn)化成java代碼,哈哈,真是懶人有懶辦法呀。
暈,估計(jì)uml工具下載完了我也該睡覺了,明天還要加班呀。我先簡(jiǎn)單說(shuō)一下想法吧,明天把類結(jié)構(gòu)設(shè)計(jì)出來(lái)再自己的說(shuō)。定義一個(gè)IXMLNode接口,代表xml中一個(gè)節(jié)點(diǎn)(包括中間節(jié)點(diǎn)和葉子節(jié)點(diǎn)),然后從IXMLNode派生一個(gè)TXMLNodeCollection接口,代表中間多簡(jiǎn)單子節(jié)點(diǎn)的節(jié)點(diǎn)(也就是它的節(jié)點(diǎn)的名稱一樣,類型一樣,只是值不一樣)。為IXMLNode增加getValue,getName,setValue,setName等方法,為TXMLNodeCollection增加addItem(增加子節(jié)點(diǎn)),getItem(得到某個(gè)子節(jié)點(diǎn)),getItemList(得到所有子節(jié)點(diǎn)類標(biāo))等方法。這樣就可以輕松實(shí)現(xiàn)為節(jié)點(diǎn)增加子節(jié)點(diǎn)的功能了。好了,休息了,周日不能再加班了,爭(zhēng)取利用周日把這個(gè)小東東搞出來(lái),自從做那個(gè)delphi窗體設(shè)計(jì)器以來(lái)已經(jīng)半個(gè)多月沒做自己的東西了,要努力呀。
一個(gè)人坐在公交車上
一個(gè)人在街上閑逛
一個(gè)靜靜的聽著音樂
突然有種落淚的沖動(dòng),無(wú)法抑制的感覺
覺得自己身處在大千世界的某個(gè)不知名的角落
被人遺忘,被人遺棄。