windows7 vs2010 编译tinyxml

转自:http://blog.youkuaiyun.com/misskissc/article/details/11515019

1.下载windows版tinyXML安装包,病解压缩

2.vs2010新建工程并保存。

3.将以下6个文件拷贝到main.cpp同目录下:
tinyxml.cpp,
tinyxml.h,
tinyxmlerror.cpp,
tinyxmlparser.cpp,
tinystr.cpp,
tinystr.h

4.解决方案资源管理器->头文件右键->添加->现有项->加入.h文件

5.解决方案资源管理器->源文件右键->添加->现有项->加入.cpp文件
并且4个cpp文件的开头加入#include “StdAfx.h”

6.解决方案资源管理器->头文件右键->添加->新建项->加入test_xml.h文件

//test_xml.h


#include "tinyxml.h"
#include "tinystr.h"
class MyTinyXML  
{  
private:  
    TiXmlDocument *pDoc;  
    TiXmlDeclaration *pDeclaration;  
    TiXmlElement *pRootNode;  
    TiXmlElement *pName;  
    TiXmlElement *pAdd;  
    TiXmlText *pNameVaule;  
    TiXmlText *pAddVaule;  
public:  
    MyTinyXML();  
    ~MyTinyXML();  
    bool create_xml();   
};

7.解决方案资源管理器->源文件右键->添加->新建项->加入test_xml.cpp文件

//test_xml.cpp

#include "StdAfx.h"
#include "test_xml.h"
//构造函数  
MyTinyXML::MyTinyXML():pDoc(NULL),pDeclaration(NULL),pRootNode(NULL),pName(NULL),pAdd(NULL),pNameVaule(NULL),pAddVaule(NULL) {}  
//析构函数  
MyTinyXML::~MyTinyXML() {  
        //释放各new指针的堆内存块  
    if ( pAddVaule )  {  
            delete pAddVaule;  
        }  
}  
//创建一个XML文件  
bool MyTinyXML::create_xml()  
{  
    //定义TiXmlDocument 指针  
    pDoc = new TiXmlDocument;  
    if ( !pDoc )  
    {  
        return false;  
    }  

    //定义一个xml文件头部声明  
    pDeclaration = new TiXmlDeclaration( "1.0", "UTF-8", "yes" );  
    if ( !pDeclaration )  
    {  
        return false;  
    }  
    pDoc->LinkEndChild( pDeclaration );  

    //根节点  
    pRootNode = new TiXmlElement( "ChildStation" );  
    if ( !pRootNode )  
    {  
        return false;  
    }  
    pDoc->LinkEndChild( pRootNode );  

    //子节点1  
    pName = new TiXmlElement( "Name" );  
    if ( !pName )  
    {  
        return false;  
    }  
    pRootNode->LinkEndChild( pName );  
    //子节点2  
    pAdd = new TiXmlElement(  "Add" );  
    if ( !pAdd )  
    {  
        return false;  
    }     
    pRootNode->LinkEndChild( pAdd );  

    //设置name节点的值  
    pNameVaule = new TiXmlText( "STM100" );  
    pName->LinkEndChild(pNameVaule);  
    pAddVaule = new TiXmlText( "0001" );  
    pAdd->LinkEndChild( pAddVaule );  

    pDoc->SaveFile( "ChildStation.xml" );  

    return true;  
}  
//main.cpp

#include "test_xml.h"
void func_tinyxml () {
    MyTinyXML xml;
    xml.create_xml();
}
int main() {
    func_tinyxml();
}

8.在main.cpp同目录下生成ChildStation.xml文件,文件内容:

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<ChildStation>
    <Name>STM100</Name>
    <Add>0001</Add>
</ChildStation>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值