CentOS 7 使用pugixml 库

安装

pugixml Git下载地址:https://github.com/zeux/pugixml

步骤1:首先,你需要下载pugixml 的源代码。你可以从Github或者源代码官方网站下载。并上传至/usr/local/source_code/

步骤2:下载完成后,需要将源代码解压,可以使用以下命令:

 tar -zxvf pugixml-1.13.tar.gz

步骤3:解压后,切换到源代码目录:

[root@localhost source_code]# cd pugixml-1.13

步骤4:生成pugixml 静态库,执行如下指令:

mkdir build
cd build
cmake ..
make && make install

[root@localhost build]# cd ..
[root@localhost pugixml-1.13]# cmake .
-- The CXX compiler identification is GNU 8.3.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/rh/devtoolset-8/root/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/source_code/pugixml-1.13
[root@localhost pugixml-1.13]# make && make install
[ 50%] Building CXX object CMakeFiles/pugixml-static.dir/src/pugixml.cpp.o
[100%] Linking CXX static library libpugixml.a
[100%] Built target pugixml-static
Consolidate compiler generated dependencies of target pugixml-static
[100%] Built target pugixml-static
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib64/libpugixml.a
-- Installing: /usr/local/lib64/cmake/pugixml/pugixml-targets.cmake
-- Installing: /usr/local/lib64/cmake/pugixml/pugixml-targets-noconfig.cmake
-- Installing: /usr/local/lib64/cmake/pugixml/pugixml-config-version.cmake
-- Installing: /usr/local/lib64/cmake/pugixml/pugixml-config.cmake
-- Installing: /usr/local/lib64/pkgconfig/pugixml.pc
-- Up-to-date: /usr/local/include/pugiconfig.hpp
-- Up-to-date: /usr/local/include/pugixml.hpp

温馨提示:完成以上步骤后,在/usr/local/lib下会生成libpugixml.so动态库和/usr/local/include下生成pugixml.hpp头文件。你可以使用以下命令查看是否安装成功:

ls /usr/local/lib | grep pugixml
ls /usr/local/include | grep pugixml

如果看到,则说明成功安装了pugixml库 .

快速入门

在/usr/local/source_code 新增pugixml_demo 目录并新增test_pugixml.cpp 文件,文件内容如下:

#include "pugixml.hpp"
#include <iostream>
using namespace std;

int main(){
    pugi::xml_document doc;
    pugi::xml_parse_result result = doc.load_file("input.xml");
    if(!result)
        return -1;
    cout << "parse result: " << endl;
    pugi::xml_node root_node = doc.child("platform");
    pugi::xml_node ip_node = root_node.child("ip");
    pugi::xml_node port_node = root_node.child("port");
    pugi::xml_node key_node = root_node.child("key");
    cout << ip_node.text().as_string() << endl;
    cout << port_node.text().as_int() << endl;
    cout << key_node.text().as_string() << endl;
 return 0;
}

在test_pugixml.cpp 文件所在目录新增input.xml 文件,文件内容如下:

<platform>
    <ip>192.168.1.2</ip>
    <port>50000</port>
    <key>keyvalue</key>
</platform>

编译源码并执行:

[root@localhost pugixml_demo]# g++ test_pugixml.cpp -o test_pugixml -std=c++11 -lpugixml
[root@localhost pugixml_demo]# ll
总用量 340
-rw-r--r--. 1 root root     95 11月 22 18:07 input.xml
-rwxr-xr-x. 1 root root 338744 11月 22 19:20 test_pugixml
-rw-r--r--. 1 root root    615 11月 22 19:20 test_pugixml.cpp
[root@localhost pugixml_demo]# ./test_pugixml
parse result:
192.168.1.2
50000
keyvalue

入门详细

请参考:pugi 快速入门

pugixml Git地址

pugixml 官网开发指南

相关推荐
Ven%几秒前
centos查看硬盘资源使用情况命令大全
linux·运维·centos
萨格拉斯救世主1 小时前
戴尔R930服务器增加 Intel X710-DA2双万兆光口含模块
运维·服务器
Jtti1 小时前
Windows系统服务器怎么设置远程连接?详细步骤
运维·服务器·windows
TeYiToKu1 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws1 小时前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
yeyuningzi1 小时前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
上辈子杀猪这辈子学IT1 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei1 小时前
linux centos 安装redis
linux·redis·centos
EasyCVR2 小时前
萤石设备视频接入平台EasyCVR多品牌摄像机视频平台海康ehome平台(ISUP)接入EasyCVR不在线如何排查?
运维·服务器·网络·人工智能·ffmpeg·音视频
lldhsds2 小时前
书生大模型实战营第四期-入门岛-1. Linux前置基础
linux