• <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>
            posts - 45,  comments - 232,  trackbacks - 0

            最近做嵌入式項(xiàng)目,需要生成XML狀態(tài)報(bào)文,C++的XML的解析器就不能用了。然后使用xmllib2,功能挺多,也很穩(wěn)定,就是太大了,不利于移植到ARM,而且有很多的功能用不上,編譯部署麻煩。一日,看了一本書(shū)上好像這么說(shuō): 一個(gè)工具解決的問(wèn)題比它引入的問(wèn)題還多,就去掉它,重新從零開(kāi)始。感覺(jué)說(shuō)得的有道理,我還不如自己寫(xiě)一個(gè)。Forge....
            花了一下午,共200行C代碼完成了一個(gè)XML文檔生成器,測(cè)試了一下效率相當(dāng)高,也很穩(wěn)定,感覺(jué)好極了。那位大哥如果能做的更精巧,不妨提攜一下小弟,不吝指教。
            工程名稱:MiniXML
            工程下載:
            http://m.shnenglu.com/Files/dyj057/minixml.zip

            在XP+VS2003中編譯通過(guò),你也可以在Linux,Unix上使用。

            使用例子:

            xmlNodePtr?child;
            ????????xmlNodePtr?nameNode?;
            ????????xmlDocPtr?doc?
            =
            ?xmlNewDoc();
            ????????doc
            -> root? = ?xmlNewNode( " employees "
            );

            ????????child?
            = ?xmlAddChild(doc -> root,?xmlNewNode( " employee "
            ));
            ????????xmlAddProp(child,
            " age " , " 28 "
            );
            ????????xmlAddProp(child,
            " sexy " , " male "
            );
            ????????nameNode?
            = ?xmlAddChild(child,?xmlNewNode( " name "
            ));
            ????????xmlAddText(nameNode,?xmlNewText(
            " Nicholas?C.?Zakas "
            ));

            ????????child?
            = ?xmlAddChild(doc -> root,?xmlNewNode( " employee "
            ));
            ????????xmlAddProp(child,
            " age " , " 22 "
            );
            ????????xmlAddProp(child,
            " sexy " , " male "
            );
            ????????nameNode?
            = ?xmlAddChild(child,?xmlNewNode( " name "
            ));
            ????????xmlAddText(nameNode,?xmlNewText(
            " Jim?Smith "
            ));

            ????????printfXmlDoc(stdout,doc);
            ????????xmlFreeDoc(doc);


            生成XML文檔如下:
            <?xml version="1.0" encoding="utf-8"?>
            <employees>
            ?<employee age="28" sexy="male">
            ??<name>Nicholas C. Zakas</name>
            ?</employee>
            ?<employee age="22" sexy="male">
            ??<name>Jim Smith</name>
            ?</employee>
            </employees>

            Functions

            xmlDocPtr ? xmlNewDoc () ? xmlDoc struct pointer
            void? xmlFreeDoc ( xmlDocPtr doc) ? free XML document struct
            void? xmlFreeNode ( xmlNodePtr node) ? free XML document struct
            void? xmlAddText ( xmlNodePtr node, xmlTextNodePtr text) ? add a text node to a element
            xmlNodePtr ? xmlNewNode (const char *name) ? create a new element node
            xmlTextNodePtr ? xmlNewText (const char *text) ? create a new text node
            xmlNodePtr ? xmlAddChild ( xmlNodePtr father, xmlNodePtr child) ? add child node to the father node
            void? xmlAddProp ( xmlNodePtr node, const char *propName, const char *propValue) ? add property to a node
            void? printfXmlDoc (FILE *f, xmlDocPtr doc) ? print document's XML to a file

            ?

            posted on 2007-01-29 11:31 天下無(wú)雙 閱讀(5306) 評(píng)論(11)  編輯 收藏 引用 所屬分類: C/C++

            FeedBack:
            # re: 迷你型XML文檔生成器(ANSI C)
            2007-01-29 13:12 | gql
            下不下來(lái)  回復(fù)  更多評(píng)論
              
            # re: 迷你型XML文檔生成器(ANSI C)
            2007-01-29 13:22 | 天下無(wú)雙
            剛才鏈接有點(diǎn)問(wèn)題,現(xiàn)在更新了,可以下載了。不好意思。  回復(fù)  更多評(píng)論
              
            # re: 迷你型XML文檔生成器(ANSI C)
            2007-01-29 14:52 | gql
            看了,夠輕巧  回復(fù)  更多評(píng)論
              
            # re: 迷你型XML文檔生成器(ANSI C)
            2007-01-29 15:23 | 天下無(wú)雙
            我在Linux中用GCC編譯有些問(wèn)題,正在更改,主要是struct link和unistd.h中的類型沖突了。  回復(fù)  更多評(píng)論
              
            # re: 迷你型XML文檔生成器(ANSI C)
            2007-01-31 10:00 | nitemare_ogod
            http://www.easysw.com/~mike/mxml/

            我用這個(gè),并改造了一下,這個(gè)不支持mbcs,我改了一個(gè),并遷移到一個(gè)嵌入系統(tǒng)中.
            呵呵,比你那個(gè)更簡(jiǎn)單,編譯后庫(kù)大小32K,具有 解析、查找、生成、遍歷 功能,一般不是太復(fù)雜的應(yīng)用足夠了??少F的是全部實(shí)現(xiàn)是標(biāo)準(zhǔn)c,移植很容易。  回復(fù)  更多評(píng)論
              
            # re: 迷你型XML文檔生成器(ANSI C)
            2007-01-31 12:12 | 天下無(wú)雙
            看了樓上說(shuō)的那個(gè)庫(kù),確實(shí)不錯(cuò)。它的版本是2.2.2我的才0.1.0.1,所以我的肯定比不過(guò)它的。不過(guò)我的才200行,它的一個(gè)測(cè)試文件都有600行,哈哈  回復(fù)  更多評(píng)論
              
            # re: 迷你型XML文檔生成器(ANSI C)
            2007-01-31 14:28 | nitemare_ogod
            我用只用1.3 ,只支持mbcs,其它的支持全部去掉了。
            呵呵,希望對(duì)你有幫助。  回復(fù)  更多評(píng)論
              
            # re: 迷你型XML文檔生成器(ANSI C)
            2007-02-05 08:41 | 阿牛
            一日,看了一本書(shū)上好像這么說(shuō): 一個(gè)工具解決的問(wèn)題比它引入的問(wèn)題還多,就去掉它,重新從零開(kāi)始。?????????? :)  回復(fù)  更多評(píng)論
              
            # re: 迷你型XML文檔生成器(ANSI C)
            2007-02-05 08:58 | 天下無(wú)雙
            呵呵,就是《Unix編程哲學(xué)》,真是好書(shū)??!  回復(fù)  更多評(píng)論
              
            # re: 迷你型XML文檔生成器(ANSI C)
            2007-05-21 11:55 | lyb
            你好,請(qǐng)問(wèn)Linux下的調(diào)試通過(guò)了嗎?能否上傳或給我一份,謝謝
            sbuterihc@163.com  回復(fù)  更多評(píng)論
              
            # re: 迷你型XML文檔生成器(ANSI C)
            2008-03-25 07:15 | suxiaojack
            不錯(cuò),要是把函數(shù)指針?lè)庋b在文檔類型中感覺(jué)更好用。  回復(fù)  更多評(píng)論
              

            常用鏈接

            留言簿(15)

            隨筆分類

            隨筆檔案

            相冊(cè)

            我的其它領(lǐng)域Blog

            搜索

            •  

            積分與排名

            • 積分 - 206337
            • 排名 - 130

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            亚洲欧洲精品成人久久奇米网| 亚洲精品WWW久久久久久| 久久精品国产亚洲AV无码偷窥 | 久久精品女人天堂AV麻| 亚洲国产精品一区二区三区久久 | 久久夜色精品国产欧美乱| 精品久久777| 亚洲精品乱码久久久久久蜜桃不卡 | 亚洲国产精品成人AV无码久久综合影院| 久久这里都是精品| 欧美伊香蕉久久综合类网站| 久久精品国产亚洲av麻豆图片 | 久久久久亚洲精品日久生情| 国产精品成人99久久久久 | 久久久91精品国产一区二区三区| 无码8090精品久久一区| 亚洲国产天堂久久综合网站| 国产亚洲精品自在久久| 无码伊人66久久大杳蕉网站谷歌| 久久久久女教师免费一区| 精品久久一区二区| 久久久无码精品亚洲日韩按摩| 亚洲国产日韩综合久久精品| 久久精品夜色噜噜亚洲A∨| 久久综合狠狠色综合伊人| 久久精品夜夜夜夜夜久久| 久久久亚洲AV波多野结衣| 一级做a爰片久久毛片毛片| 日韩影院久久| 亚洲午夜精品久久久久久浪潮| 国产精品免费久久久久影院| 欧美伊香蕉久久综合类网站| 久久免费精品一区二区| 久久香蕉国产线看观看99| 精品999久久久久久中文字幕 | 97久久国产综合精品女不卡| 亚洲国产成人精品女人久久久 | 精品久久久久久国产| 精产国品久久一二三产区区别| 青青青青久久精品国产h久久精品五福影院1421 | 欧美亚洲国产精品久久久久|