3、pugixml 改节点名、属性名、属性值

    pugi::xml_document doc;
    if (!doc.load_string("<node id='123'>text</node>", pugi::parse_default | pugi::parse_comments)) return -1;//xml的内容
    doc.print(cout);//打印原始内容

    // 节点node
    pugi::xml_node node = doc.child("node");

    // 修改节点名,node->notnode
    std::cout << node.set_name("notnode");
    std::cout << ", new node name: " << node.name() << std::endl;

    // 属性id
    pugi::xml_attribute attr = node.attribute("id");

    // 修改属性名、值,id->key,123->345
    std::cout << attr.set_name("key") << ", " << attr.set_value("345");
    std::cout << ", new attribute: " << attr.name() << "=" << attr.value() << std::endl;

    // 再次修改属性id的值,345->1.234
    attr.set_value(1.234);
    std::cout << "new attribute value: " << attr.value() << std::endl;

    // 再次修改属性id的值,1.234->true
    attr = true;//布尔值
    std::cout << "final attribute value: " << attr.value() << std::endl;

    doc.print(std::cout);//打印结果

 

posted @ 2019-12-31 10:47  夕西行  阅读(1984)  评论(0编辑  收藏  举报