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;
}

运行结果: