• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我自閑庭信步,悠然自得,不亦樂乎.

                                                   ------ Keep life simple
            GMail/GTalk/MSN:huyi.zg@gmail.com

             

            再次重寫了XML解析模塊

            最開始用的libxml2,linux上倒是方便,但為了在win上使用這個,需要編譯一大堆附加庫,還要帶上大家伙,本來是為了圖方便,沒想到更加的麻煩,而且在實際使用中,也并不順手。鑒于此,我放棄了libxml2。

            之后又瞄準了arabica,一個針對C++的解析庫,嚴格的說是一組包裝類,在底層還是靠expat等其他引擎來解析xml的。這回看起來爽多了,不用擔心平臺問題了。在實際使用中,引了一大堆的頭文件,繼承了一堆父類,雖然類責任更加明確了,但這確實不是我所喜歡的方式,簡單就是最好,這是我所推崇的。盡管如此,為了圖便宜,我還是沒有放棄采用arabica,甚至為它禁用了一個原先工作正常,但現在有沖突的標準lib文件(可惡的LN2005錯誤),但最后還是發現,arabica在一些地方并不完善,文檔也不全面,很費了一番周折才work起來不說,出了問題還要搞半天,我只是想要簡單的解析功能,實在不想去研究透澈一個第三方庫。

            一氣之下,決定自己封裝expat,花了1個多小時,整個世界清靜了,現在一起看起來那么干爽,一切都回歸到預想與控制中。功能可能不如第三方庫全面,但也足夠了,而且需要的話可以再添加。長嘆一口氣,主席說過,自己動手,豐衣足食。

            至于再高一層,我并沒有像wildfire那樣,用pull的方式,邊執行邏輯,邊解析。
            我希望能得到pull模型給程序結構帶來的一些好處,但又不想把解析xml的動作帶到整個程序中,最好能在一處解析完,但又能繼續使用pull模型。為此,設計了XmlBlock對象的一個隊列結構來模擬pull操作,也受到了ACE中ACE_Message_Block機制的一些影響。
            后來又仔細想了想,其實內部利用std::list就可以了,做一個wrapper,公布一個一次性的ForwardIterator,就可以模擬出Stream操作的特點了,現在還沒有必要做的像ACE_Message_Block那樣精。


            具體做法,今后會寫進文檔中。

            posted on 2006-04-29 00:36 HuYi 閱讀(476) 評論(0)  編輯 收藏 引用 所屬分類: Server

            導航

            統計

            常用鏈接

            留言簿(12)

            隨筆分類

            相冊

            收藏夾

            友情鏈接

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久久久精品成人热色戒| 久久99国内精品自在现线| 四虎国产永久免费久久| 国産精品久久久久久久| 日韩AV毛片精品久久久| 精品人妻伦九区久久AAA片69| 午夜不卡久久精品无码免费 | 久久亚洲视频| 性做久久久久久久| 热综合一本伊人久久精品| 久久中文骚妇内射| 欧美精品一区二区久久| 久久本道伊人久久| 久久久久亚洲AV成人网人人网站| 97久久久精品综合88久久| 亚洲国产成人精品91久久久| 国产精品久久成人影院| 亚洲国产精品一区二区三区久久| 国产午夜久久影院| 亚洲国产另类久久久精品小说| 久久艹国产| 办公室久久精品| 久久久精品免费国产四虎| 国产成人精品综合久久久| 亚洲国产精品无码久久久久久曰| 91精品国产色综合久久| 久久精品中文字幕无码绿巨人| 久久久久av无码免费网| 欧美午夜A∨大片久久| 久久久久国产一区二区| 国产一区二区精品久久岳| 99久久精品免费| 精品久久综合1区2区3区激情| 国产精品久久久久久久久| 久久精品亚洲日本波多野结衣| 人人狠狠综合久久88成人| 亚洲午夜久久久影院伊人| 久久精品国产2020| 欧美黑人又粗又大久久久 | 久久精品人人做人人爽电影| 久久久久亚洲av无码专区导航|