第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ù)還會擴展其使用方法