日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

tinyxml入門教程1

 李林俠圖書館 2012-03-21
tinyxml入門教程1---怎樣使用?
2010年10月29日 星期五 上午 9:01

第1步:2個頭文件,4個源文件,添加到當(dāng)前工程
第2步:會報錯,正常現(xiàn)象,直接在4個源文件中添加#include "stdafx.h"(這個應(yīng)該會添吧),錯誤解決
---------------------------------------------------------------------------
正在編譯...
stdafx.cpp
正在編譯...
tinyxmlparser.cpp
e:\xml解析\tinyxmltest\tinyxmlparser.cpp(36) : warning C4005: “TIXML_LOG” : 宏重定義
        e:\xml解析\tinyxmltest\tinyxmlparser.cpp(34) : 參見“TIXML_LOG”的前一個定義
e:\xml解析\tinyxmltest\tinyxmlparser.cpp(1639) : fatal error C1010: 在查找預(yù)編譯頭指令時遇到意外的文件結(jié)尾
tinyxmlerror.cpp
e:\xml解析\tinyxmltest\tinyxmlerror.cpp(54) : fatal error C1010: 在查找預(yù)編譯頭指令時遇到意外的文件結(jié)尾
tinyxml.cpp
e:\xml解析\tinyxmltest\tinyxml.cpp(1889) : fatal error C1010: 在查找預(yù)編譯頭指令時遇到意外的文件結(jié)尾
tinystr.cpp
e:\xml解析\tinyxmltest\tinystr.cpp(117) : fatal error C1010: 在查找預(yù)編譯頭指令時遇到意外的文件結(jié)尾
tinyxmltest.cpp
正在生成代碼...

---------------------------------------------------------------------------
第3步:添加1個頭文件#include "tinyxml.h",即可運行.給誰用?工程誰用給誰
一般是入口點main那個源文件用// tinyxmltest.cpp : 定義控制臺應(yīng)用程序的入口點。

第4步:照抄了,復(fù)制粘貼即可,運行就可看到源文件夾中生成了一個test.xml文件.代碼已貼到下面


---------------------------------------源代碼--------------------------------------------

// tinyxmltest.cpp : 定義控制臺應(yīng)用程序的入口點。
//

#include "stdafx.h"
#include "tinyxml.h"
#include <iostream>
using namespace std;


int WriteXML() ;
int _tmain(int argc, _TCHAR* argv[])
{
cout << "開始測試!" <<endl;
WriteXML() ;
cout << "結(jié)束測試!" << endl ;
return 0;
}

int WriteXML()
{
//表示整個XML文檔,不對應(yīng)其中某個特定的節(jié)點
TiXmlDocument xmlDoc( "test.xml" ); // 建立一個XML文件

//表示聲明
TiXmlDeclaration Declaration( "1.0","gb2312", "yes" ); // 聲明XML的屬性

xmlDoc.InsertEndChild( Declaration ); // 寫入基本的XML頭結(jié)構(gòu)

//表示一個節(jié)點,包含節(jié)點的一般方法,如訪問自節(jié)點、兄弟節(jié)點、編輯自身、編輯子節(jié)電
TiXmlNode * pNode = NULL;

//表示元素節(jié)點,可以包含子節(jié)點和TiXmlAttribute
TiXmlElement* pRootElm = NULL;
TiXmlElement* pChildeElm = NULL;
TiXmlElement* pItemElm = NULL;

//表示文本節(jié)點
TiXmlText* pText = NULL; // 一個指向Text的指針

pText = new TiXmlText("good") ;//給一個文本節(jié)點賦值

pRootElm = new TiXmlElement( "todo" ); //創(chuàng)建一個元素節(jié)點(這里做的是根元素節(jié)點)

pNode = xmlDoc.InsertEndChild(*pRootElm) ;// 寫入XML文件的跟節(jié)點(xmlDocXML文件的根節(jié)點)
pRootElm = pNode->ToElement() ;//設(shè)置當(dāng)前節(jié)點位置(即根節(jié)點)

pChildeElm = new TiXmlElement("child1") ; //創(chuàng)建一個元素節(jié)點(這里是前面創(chuàng)建的節(jié)點的子節(jié)點)
pChildeElm->SetAttribute("num", 9) ;//設(shè)置這個元素的屬性為9

pNode = pRootElm->InsertEndChild(*pChildeElm) ;// 寫入XML元素節(jié)點并返回插入后節(jié)點(pRootElm的子節(jié)點,即根節(jié)點的子節(jié)點)

TiXmlElement* pChildeElm1 = NULL; //創(chuàng)建一個新元素節(jié)點,這里的節(jié)點做跟元素的新節(jié)點
pChildeElm1 = pNode->ToElement() ;//設(shè)置到剛才剛剛插入的節(jié)點位置
pChildeElm1->InsertEndChild(*pText) ;//插入文本

delete pChildeElm ;
pChildeElm = NULL ;
pChildeElm = new TiXmlElement("child2") ;
pChildeElm->SetAttribute("num", 10) ;

//將新建立的節(jié)點插入到上面節(jié)點之前
pNode = pRootElm->InsertBeforeChild (pChildeElm1, *pChildeElm) ;
//設(shè)置第二個節(jié)點的值
TiXmlElement* pChildeElm2 = NULL;
pChildeElm2 = pNode->ToElement() ;
pChildeElm2->InsertEndChild(*pText) ;


xmlDoc.Print() ;

xmlDoc.SaveFile(); // 把XML文件寫入硬盤

return 0 ;
}

-----------------------------------------------------

附注1:代碼已上傳至郵箱,即取即用,注:tinyxml那2個頭文件與4個源文件已一起上傳了

附注2:此文僅為tinyxml入門教程1---怎樣使用,后續(xù)還會擴展其使用方法

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多