Linux C操作XML文件

1 简介

介绍使用C语言操作xml文件。

使用的开源库:mxml

mxml源码路径:michaelrsweet/mxml: Tiny XML library. (github.com)

mxml官网:Mini-XML (msweet.org)

mxml官方API使用文档:Mini-XML 3.2 API Reference (msweet.org)

2 安装

提前说明:mxml编译之后会生成一个静态库和动态链接库。

首先下载源码压缩包:michaelrsweet/mxml: Tiny XML library. (github.com)

然后解压之后,按照官方网站的说明进行执行。

  1. 配置编译环境
./configure

配置之后,会检查编译环境和配置编译生成的库存放路径,默认放在usr/local中。

如何需要指定库存放路径,可使用如下命令修改:

./configure --prefix=/foo

Linux C操作XML文件

2)编译

直接运行:

make

Linux C操作XML文件

编译完成之后会生成:libmxml.so.1.6、libmxml.a、testmxml(测试代码)。

3)将mxml安装到系统库中

执行:

make install

Linux C操作XML文件

安装之后,使用时包含mxml.h即可。

#include <mxml.h>

在编译程序的使用,可使用 -lmxml 来链接mxml库。

3 测试

使用源文件自带的测试案例进行测试。

编译testmxml.c:

gcc testmxml.c -lmxml -o testxml	

运行:

./testxml test.xml

如果运行出现以下错误,表示没找到libmxml.so.1库。

Linux C操作XML文件

原因:我使用的gcc编译默认使用的是64位的库,也就是/usr/lib64,但是这个库中没有libmxml.so.1

编译的libmxml.so也是一个64位的库:

$ file /usr/local/lib/libmxml.so.1.6 
/usr/local/lib/libmxml.so.1.6: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4e488abf69cf58184b46a03b881e67a5a92c155f, not stripped

解决方式:建立一个软连接,将安装库的路径链接到系统库中。

sudo ln -s /usr/local/lib/libmxml.so.1 /usr/lib64/libmxml.so.1

然后重新执行即可。

Linux C操作XML文件

Linux C操作XML文件

上一篇:Qt 检测检测是否存在并关闭进程


下一篇:查看linux系统版本命令