pugixml官网:pugixml.org - Home
1.写XML
//创建文档对象
pugi::xml_document doc;
//添加说明
pugi::xml_node declaration_node = doc.append_child(pugi::node_declaration);
declaration_node.append_attribute("version") = "1.0";
declaration_node.append_attribute("encoding") = "UTF-8";
//添加根节点
pugi::xml_node root_node = doc.append_child("书库");
//添加第一个孩子节点
pugi::xml_node node_1 = root_node.append_child("图书");
node_1.append_attribute("编号") = "1";
//添加孙子节点
pugi::xml_node node_1_1 = node_1.append_child("书名");
node_1_1.text().set("Qt");
pugi::xml_node node_1_2 = node_1.append_child("作者");
node_1_2.text().set("shiming");
doc.save_file("../mypugi/myxml.xml");
2.读XML
pugi::xml_document doc;
if(!doc.load_file("../mypugi/myxml.xml"))
{
std::cout << "load file faild" << std::endl;
return;
}
pugi::xml_node root_node = doc.child("书库");
std::cout << root_node.name() << std::endl;
qDebug() << root_node.name();
pugi::xml_node node_1 = root_node.child("图书");
std::cout << node_1.name() << "---" << node_1.attribute("编号").name() << "=" << node_1.append_attribute("编号").value() << std::endl;
pugi::xml_node node_1_1 = node_1.child("书名");
std::cout << node_1_1.text() << std::endl;