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 官网开发指南

相关推荐
咖喱鱼蛋14 分钟前
Ubuntu安装Electron环境
linux·ubuntu·electron
ac.char18 分钟前
在 Ubuntu 系统上安装 npm 环境以及 nvm(Node Version Manager)
linux·ubuntu·npm
肖永威23 分钟前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
tian2kong26 分钟前
Centos 7 修改YUM镜像源地址为阿里云镜像地址
linux·阿里云·centos
mengao123428 分钟前
centos 服务器 docker 使用代理
服务器·docker·centos
布鲁格若门30 分钟前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
Eternal-Student35 分钟前
【docker 保存】将Docker镜像保存为一个离线的tar归档文件
运维·docker·容器
C-cat.37 分钟前
Linux|进程程序替换
linux·服务器·microsoft
dessler38 分钟前
云计算&虚拟化-kvm-扩缩容cpu
linux·运维·云计算
怀澈12239 分钟前
高性能服务器模型之Reactor(单线程版本)
linux·服务器·网络·c++