1. pugi对xml的写入,并保存
2. pugi对xml的读取方法
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