加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

pugi解析xml文件

发布时间:2020-12-16 06:15:52 所属栏目:百科 来源:网络整理
导读:1. 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
1. 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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读