pugi::xml_document doc; //添加一个根节点 pugi::xml_node rootNode = doc.append_child("root"); //添加子节点 pugi::xml_node childNode1 = rootNode.append_child("Sen1_Gravity"); childNode1.append_attribute("Gravity")=5; pugi::xml_node childNode2 = rootNode.append_child("Sen2_Gravity"); childNode2.append_attribute("Gravity")=5; childNode2.append_attribute("x")=10; childNode2.append_attribute("y")=10; childNode2.append_attribute("z")=10; pugi::xml_node childNode3; ////在节点之后插入 //rootNode.insert_child_after("safe",childNode1); ////在节点之前插入 //pugi::xml_node nodecopy = rootNode
2. pugi对xml的读取方法
//////////////////pugi-xml读取xml文件///////////////////////////////////////////////////////////////////////////////// pugi::xml_document doc_read; // 加载xml文件 pugi::xml_parse_result ret = doc_read.load_file(_T("ExternalData.xml"));
//pugixml 解析xml文件------------------------------------------------------------------------ pugi::xml_document doc; char *buf = const_cast<char*>(read_str.c_str()); size_t size=read_str.size()+1; pugi::xml_parse_result ret = doc.load_buffer_inplace(buf,size); // 获得IPOC string ipoc1=doc.child("Rob").child("IPOC").child_value(); // 获得BASE坐标系的坐标值 pkr.x_pos = doc.child("Rob").child("RIst").attribute("X").as_double(); pkr.y_pos = doc.child("Rob").child("RIst").attribute("Y").as_double(); pkr.z_pos = doc.child("Rob").child("RIst").attribute("Z").as_double(); pkr.a_pos = doc.child("Rob").child("RIst").attribute("A").as_double(); pkr.b_pos = doc.child("Rob").child("RIst").attribute("B").as_double(); pkr.c_pos = doc.child("Rob").child("RIst").attribute("C").as_double(); pkr.A6_ang= doc.child("Rob").child("AIPos").attribute("A6").as_double(); double RotAngle = -180 * M_PI / 180; pugi::xml_node n_ipoc=doc_read.child("Sen").child("IPOC"); n_ipoc.text().set(const_cast<char*>(ipoc1.c_str())); doc_read.child("Sen").child("RKorr").attribute("X").set_value(pkr.RKorrX); doc_read.child("Sen").child("RKorr").attribute("Y").set_value(pkr.RKorrY); doc_read.child("Sen").child("RKorr").attribute("Z").set_value(pkr.RKorrZ); doc_read.child("Sen").child("RKorr").attribute("A").set_value(pkr.RKorrA); doc_read.child("Sen").child("RKorr").attribute("B").set_value(pkr.RKorrB); doc_read.child("Sen").child("RKorr").attribute("C").set_value(pkr.RKorrC); //保存xml至字符串 xml_string_writer writer; doc_read.save(writer); string xmlout = writer.result;pugi学习文档:http://pugixml.org/docs/quickstart.html
原文地址:https://www.jb51.cc/xml/296545.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。