玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > linux入门教程 > 正文内容

Linux下Libxml2安装使用技巧

玩蛇网推荐图文教程:python 列表

本文是关于Linux下Libxml2使用技巧,有下载和安装LIBXML2的具休操作步骤供学习参考。

Linux下Libxml2安装使用技巧一:
Libxml2是个C语言的XML程式库,能简单方便的提供对XML文件的各种操作,并且支持XPATH查询,及部分的支持XSLT转换等功能。完全版的库是开源的,并且带有例子程式和说明文件。

测试时因为在linux下用C语言进行研发的,所以下载的是libxml2-2.6.20.tar.gz版本的源码包。

Linux下Libxml2安装使用技巧如下:

升级Linux自带libxml2库 在 Linux上安装php-5.2.5 ,libxml2

具体安装步骤:
1、解压:$tar zxvf libxml2-2.6.20.tar.gz
2、进入解压后的安装目录:$cd libxml2-2.6.20
3、安装三部曲:
1)$./configure
2)$make
3)$make install
安装完毕。

libxml2安装中出现的错误:cannot remove `libtoolT': No such file or directory
解决方法修改configure文件:
$ vim configure
删除这一行: $RM "$cfgfile"
重新再运行 $ ./configure

你在安装libxml2的时候,./configure  --prefix=/usr/local
你在安装好后,需要重新定义:
export  LD_LIBRARY_PATH=/usr/local/lib
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
具体的位置根据prefix指定的路径定。

Linux下Libxml2安装使用技巧方法二:
#sudo apt-get install libxml2
#sudo apt-get install libxml2-dev

Linux下Libxml2安装使用技巧三:

libxml2 安装使用: 在项目中需要对数据的保存与交换,为了方便期间使用普通文本保存。
但对文本解析时,考虑到程序的健壮性就需要处理多种意外情况,还是很麻烦的,因此对xml产生了点兴趣。因为在xml本身网站上有大把的资料,可以随时参考。

Gnome项目提供了一个xml的C解析器:Libxml2。libxml2最新提供了xmlreader接口,使用很方便,不过版本在2.6以上才支持。

现在的最新版本是2.6.30,可以到 下载,安装也是很简单的,有三部要走,分别如下:
// install
#./configure
#make
#make install
//test install
#make tests
//uninstall
#make uninstall

如果不需要特别的定制,在configure阶段可以直接默认。 libxml2将默认把头文件与库安装在/usr/local/include/libxml2/libxml目录下。
因此可能会让你在第一次编译自己的程序时遇到头文件“no such file”的错误。
libxml2提供了解决方法,它很体贴地在/usr/local/bin目录下为您提供了xml2-config、xmlcatalog、xmllint三个便利的工具,其中xml2-config在编译时用得到。

[root@Amanda ~]# xml2-config
Usage: xml2-config [OPTION]
Known values for OPTION are:
--prefix=DIR          change libxml prefix [default /usr/local]
--exec-prefix=DIR    change libxml exec prefix [default /usr/local]
--libs                print library linking information
--cflags              print pre-processor and compiler flags
--modules            module support enabled
--help                display this help and exit
--version            output version information

在这里不是不说到编译时用到的参数:
--cflags和--libs,帮助上说明这个为工程编译时提供辅助。

它们提供的信息如下:
[root@Amanda ~]# xml2-config --cflags
-I/usr/local/include/libxml2
[root@Amanda ~]# xml2-config --libs
-L/usr/local/lib -lxml2 -lz -lm

其实在编译自己的测试程序时,可以直接使用:
#gcc -I /usr/local/include/libxml2 -L/usr/local/lib -lxml2 -lz -lm  -o test test.c 。

或者加入到makefile中,例如:
CFLAGS=`xml2-config --cflags`
LIBS=`xml2-config --libs`

 

测试程序:

#include <stdio.h>

#include <libxml/parser.h>

#include <libxml/tree.h>

int main(int argc, char **argv)

{

  xmlDocPtr doc = NULL;

  xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;

  doc = xmlNewDoc(BAD_CAST "1.0");

  root_node = xmlNewNode(NULL, BAD_CAST "root");

  xmlDocSetRootElement(doc, root_node);

  xmlNewChild(root_node, NULL, BAD_CAST "node1",BAD_CAST "content of node1");

  node=xmlNewChild(root_node, NULL, BAD_CAST "node3",BAD_CAST"node has attributes");

  xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes");

  node = xmlNewNode(NULL, BAD_CAST "node4");

  node1 = xmlNewText(BAD_CAST"other way to create content");

  xmlAddChild(node, node1);

  xmlAddChild(root_node, node);

  xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", doc, "UTF-8", 1);

  xmlFreeDoc(doc);

  xmlCleanupParser();

  xmlMemoryDump();   

  return(0);

}

Linux下Libxml2安装使用技巧,用下面的命令编译通过:gcc -I /usr/local/include/libxml2  -L /usr/local/lib -lxml2 test.c -o test

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/linux/l6976.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
出炉日期:2017-01-05 20:52 玩蛇网 www.iplaypy.com

我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules