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

相关推荐
不爱学英文的码字机器1 分钟前
[Linux] Shell 命令及运行原理
linux·运维·服务器
cdut_suye12 分钟前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
qq_4336184417 分钟前
shell 编程(三)
linux·运维·服务器
苹果醋324 分钟前
2020重新出发,MySql基础,MySql表数据操作
java·运维·spring boot·mysql·nginx
两张不够花26 分钟前
Jenkins 持续集成部署
运维·jenkins
Tlzns38 分钟前
Linux网络——UDP的运用
linux·网络·udp
码农土豆44 分钟前
PaddlePaddle飞桨Linux系统Docker版安装
linux·docker·paddlepaddle
Hacker_xingchen1 小时前
天融信Linux系统安全问题
linux·运维·系统安全
丘狸尾1 小时前
[cisco 模拟器] ftp服务器配置
android·运维·服务器
黑客老陈1 小时前
新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
运维·服务器·前端·网络·安全·web3·xss