• C++生成xml(使用tinyxml)


      解析及库安装方法在上一篇文章里。

      我是按照这个网站上的xml样式写的例程。

      由于原xml属性过多,我只取了3个标示并且每个标示取4个属性,以便简化流程。

    代码如下:

    #include <iostream>
    #include "tinyxml.h"
    using namespace std;
    #pragma comment(lib,"tinyxml.lib")
    
    const char* AttributeName[4]={"TITLE","ARTIST","PRICE","YEAR"};
    const char* Attribute[4][3]={{"Empire Burlesque","Hide your heart","Greatest Hits"},
                                 {"Bob Dylan","Bonnie Tyler","Dolly Parton"},
                                 {"10.90","9.90","9.90"},
                                 {"1985","1988","1982"}};
    
    int main()
    {
        const char* xmlFile = "lianxi.xml";
        TiXmlDocument doc;      
        TiXmlDeclaration* decl = new TiXmlDeclaration("1.0", "", ""); 
        doc.LinkEndChild(decl);
    
        TiXmlElement* firstLevel=new TiXmlElement("CSTALOG");
        firstLevel->SetAttribute("CD","3");
        firstLevel->SetAttribute("Attribute","4");
        
        for (int i=0;i<3;i++)
        {
            TiXmlElement* secondLevel=new TiXmlElement("CD");
    
            for (int j=0;j<4;j++)
            {
                TiXmlElement* thirdLevel=new TiXmlElement(AttributeName[j]);
                thirdLevel->LinkEndChild(new TiXmlText(Attribute[j][i]));
                secondLevel->LinkEndChild(thirdLevel);
            }
    
            firstLevel->LinkEndChild(secondLevel);
        }            
        doc.LinkEndChild(firstLevel);
    
        doc.SaveFile(xmlFile); 
        return 0;
    }

    貌似有内存泄露,不过为了清晰的显示结构,不管那么多了。

    最后生成如下文件:

    <?xml version="1.0" ?>
    <CSTALOG CD="3" Attribute="4">
        <CD>
            <TITLE>Empire Burlesque</TITLE>
            <ARTIST>Bob Dylan</ARTIST>
            <PRICE>10.90</PRICE>
            <YEAR>1985</YEAR>
        </CD>
        <CD>
            <TITLE>Hide your heart</TITLE>
            <ARTIST>Bonnie Tyler</ARTIST>
            <PRICE>9.90</PRICE>
            <YEAR>1988</YEAR>
        </CD>
        <CD>
            <TITLE>Greatest Hits</TITLE>
            <ARTIST>Dolly Parton</ARTIST>
            <PRICE>9.90</PRICE>
            <YEAR>1982</YEAR>
        </CD>
    </CSTALOG>
  • 相关阅读:
    git命令
    WPF让绑定支持表达式
    WPF多语言动态切换的一种方法
    C#监测系统事件,睡眠状态
    记一次渗透测试
    Relay
    ECShop相关漏洞复现/分析
    人工智能学习路线图
    抽奖算法
    关于微信开发的 appid,openid,unionid
  • 原文地址:https://www.cnblogs.com/tiandsp/p/2852762.html
Copyright © 2020-2023  润新知