int writeXML(void) { rapidxml::xml_document<> doc; rapidxml::xml_node<> *rot = doc.allocate_node(rapidxml::node_pi, doc.allocate_string("xml version='1.0' encoding='utf-8'")); rapidxml::xml_node<> *root = doc.allocate_node(rapidxml::node_element, "Root"); doc.append_node(rot); doc.append_node(doc.allocate_node(rapidxml::node_comment, NULL, "XMl根节点")); doc.append_node(root); root->append_node(doc.allocate_node(rapidxml::node_comment, NULL, "身份信息")); rapidxml::xml_node<> *p_node = doc.allocate_node(rapidxml::node_element, "信息"); p_node->append_node(doc.allocate_node(rapidxml::node_element, "Name", "Toney")); p_node->append_node(doc.allocate_node(rapidxml::node_element, "Age", "23")); p_node->append_node(doc.allocate_node(rapidxml::node_element, "ID", "3112333123")); root->append_node(p_node); root->append_node(doc.allocate_node(rapidxml::node_comment, NULL, "年级信息")); p_node = doc.allocate_node(rapidxml::node_element, "Grade"); p_node->append_node(doc.allocate_node(rapidxml::node_element, "年级", "2")); p_node->append_node(doc.allocate_node(rapidxml::node_element, "班级", "1")); root->append_node(p_node); std::string text; text.clear(); std::ofstream out("student.xml"); rapidxml::print(std::back_inserter(text), doc); out << text; std::cout << text.c_str() << std::endl; system("pause"); return 0; }
运行结果: