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

            夢(mèng)想的天堂

            常用鏈接

            統(tǒng)計(jì)

            最新評(píng)論

            XmlLite使用簡(jiǎn)單介紹

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

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

            評(píng)論

            # re: XmlLite使用簡(jiǎn)單介紹 2007-05-14 20:56 小石頭

            哈哈.頂:)
            不會(huì)了再問(wèn)你!!!  回復(fù)  更多評(píng)論   

            # re: XmlLite使用簡(jiǎn)單介紹 2007-07-05 17:50 Ray

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

            # re: XmlLite使用簡(jiǎn)單介紹 2007-07-05 19:02 IT民工

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

            # re: XmlLite使用簡(jiǎn)單介紹 2007-07-05 23:45 Ray

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


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


            好久久免费视频高清| 久久久久久亚洲AV无码专区| 大美女久久久久久j久久| 久久久亚洲精品蜜桃臀| 亚洲国产精品无码久久久不卡| 久久综合国产乱子伦精品免费| 国产69精品久久久久9999| 一本久久综合亚洲鲁鲁五月天亚洲欧美一区二区 | 国产精品一久久香蕉国产线看| 久久精品一区二区国产| 色狠狠久久综合网| 久久久精品午夜免费不卡| 热99RE久久精品这里都是精品免费 | 噜噜噜色噜噜噜久久| 国产精品美女久久久| 日产精品久久久久久久| 久久WWW免费人成—看片| 精品熟女少妇a∨免费久久| 香蕉99久久国产综合精品宅男自 | 久久午夜电影网| 欧美牲交A欧牲交aⅴ久久| 亚洲精品久久久www| 精品综合久久久久久88小说| 久久精品中文闷骚内射| 久久久久亚洲AV无码观看 | 久久一本综合| 精品久久久久久无码中文字幕| 久久国产精品成人影院| 精品久久久无码人妻中文字幕豆芽| 精品久久久久久久国产潘金莲| 久久精品这里只有精99品| 国产亚州精品女人久久久久久| 久久99国产精品久久99果冻传媒| 一本色道久久88精品综合| 一本一道久久综合狠狠老| 伊人久久综合无码成人网| 久久亚洲精品人成综合网| 精品久久久久久无码专区不卡 | 精品久久久久久亚洲| 国产99精品久久| 国产三级观看久久|