使用rapidxml创建XML

2014年3月25日16:53:55

使用rapidxml创建XML

1、使用VS2008创建一个带预编译头的控制台项目。

2、源文件内容:

#include "stdafx.h" 

#include<iostream>  
using namespace std;

#include "rapidxml.hpp"
#include "rapidxml_utils.hpp"
#include "rapidxml_print.hpp"

using namespace rapidxml;

int main()
{    
	xml_document<> doc;  
	xml_node<>* rot = doc.allocate_node(node_pi,doc.allocate_string("xml version='1.0' encoding='utf-8'"));
	doc.append_node(rot);

	doc.append_node(doc.allocate_node(node_comment,NULL,"配置"));
	xml_node<>* node =   doc.allocate_node(node_element,"config",NULL);
	doc.append_node(node);

	node->append_node(doc.allocate_node(node_comment,NULL,"颜色"));
	xml_node<>* color =   doc.allocate_node(node_element,"color",NULL);  
	node->append_node(color);

	color->append_node(doc.allocate_node(node_comment,NULL,"红色"));
	color->append_node(doc.allocate_node(node_element,"red","0.1"));

	color->append_node(doc.allocate_node(node_comment,NULL,"绿色"));
	color->append_node(doc.allocate_node(node_element,"green","0.1"));

	color->append_node(doc.allocate_node(node_comment,NULL,"蓝色"));
	color->append_node(doc.allocate_node(node_element,"blue","0.1"));

	color->append_node(doc.allocate_node(node_comment,NULL,"透明度"));
	color->append_node(doc.allocate_node(node_element,"alpha","1.0"));

	node->append_node(doc.allocate_node(node_comment,NULL,"大小"));
	xml_node<>* size =   doc.allocate_node(node_element,"size",NULL);
	node->append_node(size);

	size->append_node(doc.allocate_node(node_comment,NULL,"x"));
	size->append_node(doc.allocate_node(node_element,"x","640"));

	size->append_node(doc.allocate_node(node_comment,NULL,"y"));
	size->append_node(doc.allocate_node(node_element,"y","480"));

	ofstream out("lww.xml");
	out << doc;

	system("PAUSE");
	return EXIT_SUCCESS;
}
3、生成的XML

<?xml version='1.0' encoding='utf-8' ?>
<!--配置-->
<config>
	<!--颜色-->
	<color>
		<!--红色-->
		<red>0.1</red>
		<!--绿色-->
		<green>0.1</green>
		<!--蓝色-->
		<blue>0.1</blue>
		<!--透明度-->
		<alpha>1.0</alpha>
	</color>
	<!--大小-->
	<size>
		<!--x-->
		<x>640</x>
		<!--y-->
		<y>480</y>
	</size>
</config>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值