pugixml使用总结

//#include "pugixml/pugiconfig.hpp"
//#include "pugixml/pugixml.hpp"
//凭证头
pugi::xml_document pXMLDoc;
pugi::xml_node pre = pXMLDoc.prepend_child(pugi::node_declaration);
pre.append_attribute("version") = "1.0";
pre.append_attribute("encoding") = "UTF-8";
pugi::xml_node node = pXMLDoc.append_child("ufinterface");
node.append_attribute("account").set_value(ncif.m_str_account.c_str());
//凭证明细
pugi::xml_node voucher_node = node.append_child("voucher");
pugi::xml_node voucher_head_node = voucher_node.append_child("voucher_head");
pugi::xml_node new_node = voucher_head_node.append_child("pk_voucher"); 
new_node.append_child(pugi::node_pcdata).set_value("888");
new_node = voucher_head_node.append_child("pk_vouchertype"); 
new_node.append_child(pugi::node_pcdata).set_value("555");
//顺带一个格式转换 //or std::string s = std::to_string(minor); (C++11)
new_node = voucher_head_node.append_child("voucherkind");
std::stringstream ssVoucherkind;
ssVoucherkind << 11;
new_node.append_child(pugi::node_pcdata).set_value(ssVoucherkind.str().c_str());

struct xml_string_writer : pugi::xml_writer 
{ 
	std::string result; 
	virtual void write(const void* data, size_t size) 
	{ 
		result += std::string(static_cast(data), size);
	 }
 };

string strXmlData;
xml_string_writer writer;
pXMLDoc.save(writer);
strXmlData = writer.result;
return strXmlData;





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值