本文将介绍常用的pugixml的api函数使用方法。
在使用pugixml库时,需包含头文件
#include "pugixml.hpp"
首先需要实例化一个xml文件类
pugi::xml_document doc;
加载xml文件,xml_file_path为xml文件的路径,随后检验加载是否成功
pugi::xml_parse_result result = doc.load_file(xml_file_path.c_str());
if(!result)
printf("%s\n",result.description());
获取节点,child中为节点名
pugi::xml_node node = doc.child("node");
获取节点属性,as_string()可根据想获得的属性类型进行选择,如as_double(),as_int(),as_bool()等,同时括号里可以定义默认值,如as_int(2),as_double(0.0),as_bool(true)
pugi::xml_attribute attribute = node.attribute.as_string("");
若有多个同名节点,则可以通过for循环遍历每一个节点
for (pugi::xml_node node : doc.children("nodes"))
若通过query即xpath路径寻找节点,通过.node()转换为xml_node类型
pugi::xpath_node node = doc.select_node(query);
pugi::xml_node = node.node();
若有多个同名xpath节点,则改为
pugi::xpath_node_set xpath_node_set = doc.select_nodes(query);
for (pugi::xpath_node xpath_node : xpath_node_set)
pugi::xml_node xml_node = xpath_node.node();
目前知晓这些api函数即可轻松解析xml文件,剩余api函数需要使用时再去官网查询pugixml.org - Home