网上下载tinyxml2:tinyxml2.h和tinyxml2.cpp

加载xml

 XMLDocument doc;  
doc.LoadFile("test.xml");  
const char* content= doc.FirstChildElement( "Hello" )->GetText();  
printf( "Hello,%s", content );  

解析xml

 <?xml version="1.0"?>  
<scene name="Depth">  
    <node type="camera">  
        <eye> </eye>  
        <front> -</front>  
        <refUp> </refUp>  
        <fov></fov>  
    </node>  
    <node type="Sphere">  
        <center> -</center>  
        <radius></radius>  
    </node>  
    <node type="Plane">  
        <direction> -</direction>  
        <distance></distance>  
    </node>  
</scene> #include <iostream>  
#include"tinyxml2.h"  
using namespace std;  
using namespace tinyxml2;  
void example2()  
{  
    XMLDocument doc;  
    doc.LoadFile("test.xml");  
    XMLElement *scene=doc.RootElement();  
    XMLElement *surface=scene->FirstChildElement("node");  
    while (surface)  
    {  
        XMLElement *surfaceChild=surface->FirstChildElement();  
        const char* content;  
        const XMLAttribute *attributeOfSurface = surface->FirstAttribute();  
        cout<< attributeOfSurface->Name() << ":" << attributeOfSurface->Value() << endl;  
        while(surfaceChild)  
        {  
            content=surfaceChild->GetText();  
            surfaceChild=surfaceChild->NextSiblingElement();  
            cout<<content<<endl;  
        }  
        surface=surface->NextSiblingElement();  
    }  
}  
int main()  
{  
    example1();  
    return ;  
}  

保存xml

 void CConfig::SaveToFile()
{
 tinyxml2::XMLDocument doc;
 std::stringstream ss;
 ss << "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
 << "<Database>"
 << "</Database>";
 doc.Parse(ss.str().c_str());
 string strXml(DPC::GetAppPath());
 strXml += "\\SiteCenter.xml";
 doc.SaveFile(strXml.c_str());
}

tinyxml2的更多相关文章

  1. TinyXML2读取和创建XML文件 分类: C/C++ 2015-03-14 13:29 94人阅读 评论(0) 收藏

    TinyXML2是simple.small.efficient C++ XML文件解析库!方便易于使用,是对TinyXML的升级改写!源码见本人上传到CSDN的TinyXML2.rar资源:http: ...

  2. tinyxml2简单使用

    引入头文件 <span style="font-size:18px;">#include "HelloWorldScene.h" #include ...

  3. cocos2d-x使用tinyxml2存储解析xml

    我用的是2.1.4的cocos2d-x,里面自带有tinyxml2库. 导入头文件:#include "support/tinyxml2/tinyxml2.h" using nam ...

  4. TinyXml和tinyxml2

    C++操作xml没有标准库的支持,TinyXml是个不错的xml操作库,以前总是使用TinyXml读写xml,但是最近对大量xml进行读写时,速度真的是有点慢,特别是在调试时,每次启动读xml就要好长 ...

  5. 7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml

     数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDef ...

  6. 用TinyXml2读取XML文件的一个简单Demo

    废话少说直接上代码,需要的人自然一看便懂,对于第一次接触TinyXml2的人来说还是有帮助的. <?xml version="1.0"?> <Table name ...

  7. tinyxml2库的使用--MFC工程

    在编写应用程序的时候,经常需要动态加载某些数据,这种情况下微软的ini文件是蛮好的选择,但是平台的通用性比较差,使用xml的话就比较强一点,但是解析比较复杂,型号有牛人已经开发出了直接读写xml的库, ...

  8. TinyXML2的使用

    -----------------------------------------------------------------2015年7月21日16:37:53----------------- ...

  9. 推荐一个优秀的c++源代码,TinyXml2

    项目主页:http://grinninglizard.com/tinyxml2docs/index.html tinyxml2.h /* Original code by Lee Thomason ( ...

  10. Windows10 VS2017 C++ xml解析(tinyxml2库)

    首先下载tinyxml2 7.0.1库: https://github.com/leethomason/tinyxml2/releases 打开tinyxml2,然后升级sdk,解决方案->重定 ...

随机推荐

  1. DirectX12 3D 游戏开发与实战第四章内容(上)

    Direct3D的初始化(上) 学习目标 了解Direct3D在3D编程中相对于硬件所扮演的角色 理解组件对象模型COM在Direct3D中的作用 掌握基础的图像学概念,例如2D图像的存储方式,页面翻 ...

  2. query 与 params 使用

    这个是路由: {     path:'/city/:city',     name:'City',     component:City   }   下面使用query和params分别传参 quer ...

  3. Unity3D-游戏场景优化之遮挡剔除(Occlusion Culling)的使用

    在大型3D游戏场景中,如何优化游戏性能是非常重要的一步.一般遮挡剔除是非常常用的.接下来我们看看如何使用遮挡剔除. 假设这是一个游戏场景. 下面这是相机的视口,相机的视觉是看不到很大立方体后面的那些小 ...

  4. supervisor模块学习使用

    supervisor组件 supervisord supervisord是supervisor的服务端程序. 启动supervisor程序自身,启动supervisor管理的子进程,响应来自clien ...

  5. java自学小测试 九九乘法表

    public class Ninenine { public static void main(String[] args) { for(int i=1;i<=9;i++){ for(int j ...

  6. 读《深入理解Elasticsearch》点滴-改正用户拼写错误

    1.使用“建议”的方法:在query body的json结构体中,增加suggest节点:或者使用特殊的REST端点 2.es自带有多个不同的suggest实现,用来纠正用户的拼写错误及创建自动补全等 ...

  7. Java 基本数据类型极限值

    public static void main(String[] args){ System.out.println("Integer.MIN_VALUE = " + Intege ...

  8. 容器技术----------->Docker

    1. 虚拟化 1)什么是虚拟化 在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种 实体资源,如服务器.网络.内存及存储等,予以抽象.转换后呈现出来,打破实体 ...

  9. 死磕 java同步系列之redis分布式锁进化史

    问题 (1)redis如何实现分布式锁? (2)redis分布式锁有哪些优点? (3)redis分布式锁有哪些缺点? (4)redis实现分布式锁有没有现成的轮子可以使用? 简介 Redis(全称:R ...

  10. 【Linux】Linux中的0644 和 0755的权限

    Linux 系统中采用三位十进制数表示权限,如0755, 0644ABCD A- 0, 表示十进制B-用户C-组用户D-其他用户 利用 ls -l可以查看文件的权限 ---  -> 0   (n ...