本文共 1365 字,大约阅读时间需要 4 分钟。
2014年3月28日16:06:31
UNICODE模式下使用rapidxml写XML文件
1、使用VS2008创建一个带预编译头的控制台项目。
2、源文件内容:
#include "stdafx.h" #includeusing 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(_T("xml version='1.0' encoding='GB2312'"))); doc.append_node(rot); doc.append_node(doc.allocate_node(node_comment,NULL,_T("中心传输配置"))); xml_node * node = doc.allocate_node(node_element,_T("CenterTransConfig"),NULL); doc.append_node(node); node->append_node(doc.allocate_node(node_comment,NULL,_T("进程定点自杀小时"))); xml_node * color = doc.allocate_node(node_element,_T("kill_hour"),_T("23")); node->append_node(color); node->append_node(doc.allocate_node(node_comment,NULL,_T("日志系统等级"))); xml_node * size = doc.allocate_node(node_element,_T("log_level"),_T("0")); node->append_node(size);#ifdef UNICODE wofstream out(_T("CenterTransConfig.xml")); out.imbue(locale("CHS"));#else ofstream out(_T("CenterTransConfig.xml"));#endif out << doc; system("PAUSE"); return EXIT_SUCCESS;}
2、编译报错。修改rapdidxml[rapidxml_print.hpp 403行]
//print(std::ostream_iterator(out), node, flags); print(std::ostream_iterator (out), node, flags);
转载地址:http://tjwci.baihongyu.com/