rapidxml编写xml文件(一)

前端之家收集整理的这篇文章主要介绍了rapidxml编写xml文件(一)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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,"身份信息"));
    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,"年级信息"));

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

运行结果:

分享图片

猜你在找的XML相关文章