• <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>

            夢想的天堂

            常用鏈接

            統(tǒng)計

            最新評論

            XmlLite使用簡單介紹

                   最近因為項目的需要,將一個應(yīng)用軟件的底層XML處理模塊進(jìn)行重寫,由MSDOM改用xmlLite來完成。XmlLite是微軟專門針對C++使用者開發(fā)的一個輕量級開發(fā)包,只具備基本的I/O功能。提供了IXmlReader, IXmlWriter對XML文件進(jìn)行簡單的讀寫操作。原理很簡單,在讀一個文件時,循環(huán)讀取各個節(jié)點,然后根據(jù)不同的節(jié)點類型讀取其相關(guān)屬性數(shù)據(jù)等。XMLLite中的數(shù)據(jù)類型主要封裝在XmlNodeType中,常使用到的有XmlNodeType_None, XmlNodeType_Element,XmlNodeType_EndElement等。在寫數(shù)據(jù)時,主要根據(jù)不同的節(jié)點類型,調(diào)用相關(guān)的API來完成。值得注意的是,由于XMLLite只提供順序化寫的功能,因此在寫具有多個深度的節(jié)點類型時,需要控制好WriteEndElement()函數(shù)的出現(xiàn)順序等,所以這些都可以通過函數(shù)的遞歸來完成。
                    由于XmlLite只提供簡單的讀寫等功能,因此,在實際應(yīng)用中,需要對XMLLite提供的功能進(jìn)行一定的封裝,從而提供自己的API功能。下面簡單說說我們采用的思路。在讀Xml文件時,需要在加載過程建立XML文件的內(nèi)部數(shù)據(jù)結(jié)構(gòu)。這可以通過兩種方式來完成,一種是在一個循環(huán)或者遞歸過程中,將整個XMLload進(jìn)來;另外一種方法是一次只加載一層節(jié)點,然后遞歸加載其子節(jié)點。前面一種方法是在處理大XML文件時,可能會有memory footprint問題。所以最終采用了后面的方法。
                   在實現(xiàn)過程中,我們采用了composite模式來組織XML文件樹結(jié)構(gòu)。通過使用list來建立樹結(jié)構(gòu)。全部操作封裝在一個類中。
                  有關(guān)相關(guān)原因,xmlLite的具體封裝實現(xiàn)方法就不提及了。開發(fā)過程中,遇到的主要難點是數(shù)據(jù)的讀寫和保存,關(guān)鍵是數(shù)據(jù)結(jié)構(gòu)的處理,其他部分都比較容易。
                 這我開通blog后的第一篇文章,呵呵,也不知道怎么寫好。以后會盡力寫好點^_^.

            posted on 2007-05-03 15:37 IT民工 閱讀(4501) 評論(4)  編輯 收藏 引用

            評論

            # re: XmlLite使用簡單介紹 2007-05-14 20:56 小石頭

            哈哈.頂:)
            不會了再問你!!!  回復(fù)  更多評論   

            # re: XmlLite使用簡單介紹 2007-07-05 17:50 Ray

            可否提供這兩個文件給我?xmllite.lib xmllite.h
            開發(fā)包重達(dá)1.2G,下載得下來,天都黑了。
            kkkchen@21cn.com  回復(fù)  更多評論   

            # re: XmlLite使用簡單介紹 2007-07-05 19:02 IT民工

            不好意思啊,Vista安裝程序里面有,我家里電腦上面也沒有,呵呵,可以去微軟官方下載,很小的,加起來才幾十K。  回復(fù)  更多評論   

            # re: XmlLite使用簡單介紹 2007-07-05 23:45 Ray

            嗯,我有xmilite.dll,但是沒有頭文件,lib文件。
            你講的是dll文件,還是h文件跟lib文件呢?
            lib,h文件在那里有下載,沒找到。  回復(fù)  更多評論   


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            99久久无码一区人妻a黑| 九九精品久久久久久噜噜| 久久精品成人免费网站| 国产精品伊人久久伊人电影| 色8激情欧美成人久久综合电| 777午夜精品久久av蜜臀| 国产精品一久久香蕉国产线看| 精品久久久久久国产三级| 久久人做人爽一区二区三区 | 国产午夜精品久久久久九九| 久久99热这里只频精品6| 99热成人精品免费久久| 亚洲精品乱码久久久久久蜜桃图片 | 嫩草影院久久99| 久久久久久久精品妇女99| 2020久久精品国产免费| 久久久久亚洲av成人网人人软件 | 久久精品视频网| 久久久久99精品成人片试看| 无码任你躁久久久久久| 久久99精品久久久久久齐齐| 99国产欧美久久久精品蜜芽| 久久人妻少妇嫩草AV蜜桃| 久久亚洲电影| 99久久精品无码一区二区毛片| 久久精品水蜜桃av综合天堂| 无码人妻久久一区二区三区 | 精品国产乱码久久久久久呢| 久久青青草原亚洲av无码| 日本久久久精品中文字幕| 精品久久久久中文字幕日本| 久久久久亚洲AV无码网站| 老男人久久青草av高清| 久久精品久久久久观看99水蜜桃| 国产福利电影一区二区三区久久老子无码午夜伦不 | 色欲久久久天天天综合网| 青青草原综合久久大伊人| 久久受www免费人成_看片中文| 亚洲中文字幕伊人久久无码| 久久精品国产欧美日韩99热| 久久久久亚洲AV无码专区首JN|