当前位置: 首页 > 工具软件 > pugixml > 使用案例 >

xml解析库pugixml的基本用法

邴景山
2023-12-01

        本文将介绍常用的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

 类似资料: