rapidxml测试

/****************************/
/* 网上看到例子记录下来防止忘记*/
/****************************/
/*xml文件
config
color
red
0.1
<config>
	<color>
		<red>0.1</red>
		<green>0.1</green>
		<blue>0.1</blue>
		<alpha>1.0</alpha>
	</color>
	<size>
		<x>640</x>
		<y>480</y>
		<w>0</w>
		<h>0</h>
		<w >0</w>
		<h >0</h>
	</size>
	<mode fullscreen="false">screen mode</mode>
</config>
*/
//生成config.xml文件
/*#include <iostream> 
#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(rapidxml::node_pi,doc.allocate_string("xml version='1.0'encoding='utf-8'")); 
	doc.append_node(rot); 
	xml_node<>* node = doc.allocate_node(node_element,"config","information"); 
	xml_node<>* color = doc.allocate_node(node_element,"color",NULL); 
	doc.append_node(node); 
	node->append_node(color); 
	color->append_node(doc.allocate_node(node_element,"red","0.1")); 
	color->append_node(doc.allocate_node(node_element,"green","0.1")); 
	color->append_node(doc.allocate_node(node_element,"blue","0.1")); 
	color->append_node(doc.allocate_node(node_element,"alpha","1.0")); 
	xml_node<>* size = doc.allocate_node(node_element,"size",NULL); 
	size->append_node(doc.allocate_node(node_element,"x","640")); 
	size->append_node(doc.allocate_node(node_element,"y","480")); 
	node->append_node(size); 
	xml_node<>* mode = doc.allocate_node(rapidxml::node_element,"mode","screen mode"); 
	mode->append_attribute(doc.allocate_attribute("fullscreen","false")); 
	node->append_node(mode); 
	std::string text; 
	rapidxml::print(std::back_inserter(text), doc, 0); 
	std::cout<<text<<std::endl;
	std::ofstream out("config.xml"); 
	out << doc; 
	system("PAUSE"); 
	return EXIT_SUCCESS; 
} 
*/

//读取config.xml文件
/*#include <iostream> 
#include "rapidxml.hpp" 
#include "rapidxml_utils.hpp"
#include "rapidxml_print.hpp"

using namespace rapidxml; 

int main() 
{ 
	file<> fdoc("config.xml"); 
	std::cout<<fdoc.data()<<std::endl; 
	xml_document<> doc; 
	doc.parse<0>(fdoc.data()); 
	std::cout<<doc.name()<<std::endl; 
	//! 获取根节点 
	xml_node<>* root = doc.first_node(); 
	std::cout<<root->name()<<std::endl; 
	//! 获取根节点第一个节点 
	xml_node<>* node1 = root->first_node(); 
	std::cout<<node1->name()<<std::endl; 
	xml_node<>* node11 = node1->first_node(); 
	std::cout<<node11->name()<<std::endl; 
	std::cout<<node11->value()<<std::endl; 
	//! 修改之后再次保存 
	xml_node<>* size = root->first_node("size"); 
	size->append_node(doc.allocate_node(node_element,"w ","0")); 
	size->append_node(doc.allocate_node(node_element,"h ","0")); 
	std::string text; 
	rapidxml::print(std::back_inserter(text),doc,0); 
	std::cout<<text<<std::endl; 
	std::ofstream out("config.xml"); 
	out << doc; 
	system("PAUSE"); 
	return EXIT_SUCCESS; 
}
*/

 

posted on 2011-11-07 12:03  602147629  阅读(491)  评论(0编辑  收藏  举报