tinyxml实例

刚接触xml,现在要在vc里写xml文档,开始入不了门,这个小程序是入门的可以写成xml文档,在运行之前现将tinystr.cpp   tinyxml.cpp  tinyxmlerror.cpp  tinyxmlparser.cpp和tinystr.h   tinyxml.h这几个添加到你的工程中,记得在4个cpp文件前面都加上#include "stdafx.h"这个头文件,这样一个简单的xml文档就能生成了。

#include "stdafx.h"
#include "tinyxml.h"
#include
using namespace std;


int WriteXML() ;
int _tmain(int argc, _TCHAR* argv[])
{
 cout << "开始测试!" <  WriteXML() ;
 cout << "结束测试!" << endl ;
 return 0;
}

int WriteXML()
{
  //创建一个XML的文档对象。
    TiXmlDocument *myDocument = new TiXmlDocument();

 //表示声明
 TiXmlDeclaration Declaration( "1.0","UTF-8", "no" ); // 声明XML的属性
 myDocument->InsertEndChild( Declaration ); // 写入基本的XML头结构


    //创建一个根元素并连接。
    TiXmlElement *scriptsElement = new TiXmlElement("script");
    myDocument->LinkEndChild(scriptsElement);

  //创建一个tasks元素并连接。
    TiXmlElement *tasksElement = new TiXmlElement("tasks");
    scriptsElement->LinkEndChild(tasksElement);

 //创建一个task元素并连接。
    TiXmlElement *taskElement = new TiXmlElement("task");
    tasksElement->LinkEndChild(taskElement);

 //设置task元素的属性。
 taskElement->SetAttribute("id", "1") ;
 taskElement->SetAttribute("method", "get");
 taskElement->SetAttribute("time", "2010-12-7 20:03:09");

 //创建一个url元素并连接。
 TiXmlElement *urlElement = new TiXmlElement("url");
 taskElement->LinkEndChild(urlElement);

 //创建一个flags元素并连接。
    TiXmlElement *flagElement = new TiXmlElement("flags");
 taskElement->LinkEndChild(flagElement);

 //创建一个targetFrameName元素并连接。
 TiXmlElement *targetFrameNameElement = new TiXmlElement("targetFrameName");
 taskElement->LinkEndChild(targetFrameNameElement); 

 //创建一个postData元素并连接。
 TiXmlElement *postDataElement = new TiXmlElement("postData");
 taskElement->LinkEndChild(postDataElement);
 
 //创建一个headers元素并连接。
 TiXmlElement *headersElement = new TiXmlElement("headers");
 taskElement->LinkEndChild(headersElement);

 //创建一个playClass元素并连接。
 TiXmlElement *playClassElement = new TiXmlElement("playClass");
 taskElement->LinkEndChild(playClassElement);

  //设置元素的内容
    TiXmlText *urlContent = new TiXmlText("http://www.taobao.com/");
    TiXmlText *flagContent = new TiXmlText("false");
 TiXmlText *targetFrameNameContent = new TiXmlText("_No__Name:2a706759");
 TiXmlText *postDataContent = new TiXmlText("NULL");
 TiXmlText *headersContent = new TiXmlText("");
 TiXmlText *playClassContent = new TiXmlText("server.engine.replayclass.CommonReplay");

 //连接
    urlElement->LinkEndChild(urlContent);
 flagElement->LinkEndChild(flagContent);
 targetFrameNameElement->LinkEndChild(targetFrameNameContent);
 postDataElement->LinkEndChild(postDataContent);
 playClassElement->LinkEndChild(playClassContent);
 headersElement->LinkEndChild(headersContent);
 flagElement->LinkEndChild(flagContent);

 //输出
 myDocument->Print();
 //保存到文件
    myDocument->SaveFile("D://zn//122.205.129.127_20101129_200251.xml");
 return 0 ;
}

你可能感兴趣的:(tinyxml实例)