Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Fedora下libxml2的使用

一、下载、安装下载libxml2,官方网站,下载合适自己版本的源码包。http://rpmfind.net/linux/rpm2html/search.php?query=libxml2-devel俺下载的版本为libxml2-devel-2.6.32-11.10.i586解压缩,编译运行./configure –prefix /usr/local/xml #安装目录makemake install安装完成后/usr/local/xml下会多生成4个文件夹bin include lib share二、运行demo使用Eclipse开发,新建C++项目。1、解决头文件路径问题。默认包含的目录下面会自动添加libxml的头文件。如果Eclipse没有自动添加,我们可以手动添加,右键properties,进行以下修改 俺安装后的头文件路径为$/include/libxml2/libxml/*.h而源代码里面的工作目录默认为<libxml/*.h>这时候工程是无法找到这些文件的,我们需要做的就是将目录修改一下。$/include/libxml/*.h当然,还有一种办法是将那些头文件的包含的代码修改一下。例如:
#include < libxml/xmlversion.h >
修改为#include < libxml2/libxml/xmlversion.h >这种方式是要将几十个头文件都做这种处理,俺才不会那么傻呢。2、demo srcvoidwriteXML(void){//定义文档和节点指针xmlDocPtr doc = xmlNewDoc(BAD_CAST"1.0");xmlNodePtr root_node = xmlNewNode(NULL,BAD_CAST"root");//设置根节点xmlDocSetRootElement(doc, root_node);//在根节点中直接创建节点xmlNewTextChild(root_node, NULL, BAD_CAST "newNode1", BAD_CAST "newNode1 content");xmlNewTextChild(root_node, NULL, BAD_CAST "newNode2", BAD_CAST "newNode2 content");xmlNewTextChild(root_node, NULL, BAD_CAST "newNode3", BAD_CAST "newNode3 content");//创建一个节点,设置其内容和属性,然后加入根结点xmlNodePtr node = xmlNewNode(NULL, BAD_CAST"node2");xmlNodePtr content = xmlNewText(BAD_CAST"NODE CONTENT");xmlAddChild(root_node, node);xmlAddChild(node,content);xmlNewProp(node,BAD_CAST"attribute", BAD_CAST "yes");//创建一个儿子和孙子节点node = xmlNewNode(NULL, BAD_CAST "son");xmlAddChild(root_node,node);xmlNodePtr grandson = xmlNewNode(NULL, BAD_CAST "grandson");xmlAddChild(node,grandson);xmlAddChild(grandson, xmlNewText(BAD_CAST "This is a grandson node"));//存储xml文档int nRel = 0;nRel = xmlSaveFile("CreatedXml.xml",doc);if (nRel != -1){ cout<<"一个xml文档被创建,写入"<<nRel<<"个字节"<<endl;}//释放文档内节点动态申请的内存xmlFreeDoc(doc);}3、设置libEclipse设置链接路径: /usr/local/xml/lib设置连接库 xml2使用命令编译的时候,加上以下参数:-L /usr/local/xml/lib / -lxml2恩,下面编译执行就ok了。升级Linux自带libxml2库 在RedHat Linux上安装php-5.2.5 http://www.linuxidc.com/Linux/2008-05/12749.htmUbuntu libxml2 http://www.linuxidc.com/Linux/2007-10/8075.htmLibxml2在Linux下的使用 http://www.linuxidc.com/Linux/2014-01/95402.htmUbuntu下用arm-none-linux-gnueabi交叉编译libxml2 http://www.linuxidc.com/Linux/2014-05/101902.htm更多Fedora相关信息见Fedora 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=5本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-05/101903.htm