https://pugixml.org/docs/manual.html#dom.tree pugixml官方使用手册
1.创建xml文件信息
例如:
pugi::xml_document xmldoc;
{
pugi::xml_node decl = xmldoc.append_child(pugi::node_declaration);
decl.append_attribute("version") = "1.0";
decl.append_attribute("encoding") = "UTF-8";
}
{/*add ExperimentDesignScheme*/
pugi::xml_node root_Node = xmldoc.append_child("Test");
pugi::xml_node nodeInfo = root_Node.append_child("Tool");
{
pugi::xml_node Name = nodeInfo.append_child("Name");
Name.text().set(“测试”);
pugi::xml_node Time = nodeInfo.append_child("Time");
QDateTime time = m_info.time;
QString strBuffer = time.toString("yyyy-MM-dd hh:mm:ss");
Time.text().set(strBuffer.toStdString().c_str());
pugi::xml_node File = nodeInfo.append_child("File");
File.text().set(m_info.file.toStdString().c_str());
pugi::xml_node Purpose = nodeSchemeInfo.append_child("Purpose");
Purpose.text().set(m_doeinfo.doepurpose.toStdString().c_str());
}
}
xmldoc.save_file(savePath.toStdWString().c_str(), "\t", 1U, pugi::encoding_utf8);
2.读取文件信息
//读取想定文件
result = doc.load_file(m_info.filepath.toStdWString().c_str());
if (!result)
return -1;
//使用节点名获取节点句柄
pugi::xml_node tools = doc.child("Test").child("Tool");
for (pugi::xml_node tool = tools.first_child(); tool ; tool = tool .next_sibling()) //遍历节点下有几个子节点
{
QString Name= tool .attribute("Name").value(); //名字
QString Time= tool .attribute("Time").value(); //时间
QString File= tool .attribute("File").value(); //文件
}
3.删除节点
result = doc.load_file(m_info.filepath.toStdWString().c_str());
pugi::xml_node root_Node = doc.child("Test").child("Tool");
//删除之前的因子水平节点
root_Node.remove_child("Name");
root_Node.remove_child("Time");
4.保存文件
doc.save_file("文件路径+文件名", "\t", 1U, pugi::encoding_utf8);这里的doc是pugi::xml_document对象和读取文件时候的doc一样
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)