当前位置: 首页 > 工具软件 > RapidXml > 使用案例 >

使用rapidxml创建XML

壤驷麒
2023-12-01

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>




 类似资料: