{标题}
时间:2020-03-05 18:46:01 来源:igfitidea点击:
{段落}
{标题}
{标题}
{段落}
- {列表}
{标题}
{段落}
- {列表}
- {列表}
- {列表}
- {列表}
- {列表}
{标题}
{段落}
#include <iostream> #include <sstream> #include "rapidxml/rapidxml.hpp" #include "rapidxml/rapidxml_print.hpp" int main(int argc, char* argv[]) { char xml[] = "<?xml version=\"1.0\" encoding=\"latin-1\"?>" "<book>" "</book>"; //Parse the original document rapidxml::xml_document<> doc; doc.parse<0>(xml); std::cout << "Name of my first node is: " << doc.first_node()->name() << "\n"; //Insert something rapidxml::xml_node<> *node = doc.allocate_node(rapidxml::node_element, "author", "John Doe"); doc.first_node()->append_node(node); std::stringstream ss; ss <<*doc.first_node(); std::string result_xml = ss.str(); std::cout <<result_xml<<std::endl; return 0; }
{标题}
{段落}
{标题}
{段落}
xml_document<> doc; // character type defaults to char // ... some code to fill the document // Print to stream using operator << std::cout << doc; // Print to stream using print function, specifying printing flags print(std::cout, doc, 0); // 0 means default printing flags // Print to string using output iterator std::string s; print(std::back_inserter(s), doc, 0); // Print to memory buffer using output iterator char buffer[4096]; // You are responsible for making the buffer large enough! char *end = print(buffer, doc, 0); // end contains pointer to character after last printed character *end = 0; // Add string terminator after XML