libxml官网:http://xmlsoft.org/
下载源码包地址:http://xmlsoft.org/downloads.html
选择版本: wget ftp://xmlsoft.org/libxml2/libxml2-2.8.0.tar.gz
tar -xzvf libxml2-2.8.0.tar.gz ./configure --prefix=/usr/local/libxml2 make && make install
如果出现错误:
cannot remove 'libtoolT': No such file or directory
编辑configure,找到 $RM "$cfgfile" 将其注释即可
$RM "$cfgfile" 将其注释即可
配置path环境(vim /etc/profile,添加内容如下:)
#Add bin path export PATH=$PATH:/usr/local/libxml2/bin
保存修改后,执行:source /etc/profile ; 查看版本:
xml2-config --version
测试代码,x.c
#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); }
编译:
gcc -I /usr/local/include/libxml2 -L /usr/local/lib -lxml2 x.c -o x
发表评论