//#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;