热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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#安装

一、下载、安装

下载libxml2,官方网站,下载合适自己版本的源码包。

http://rpmfind.net/linux/rpm2html/search.php?query=libxml2-devel

俺下载的版本为libxml2-devel-2.6.32-11.10.i586

解压缩,编译运行

./configure –prefix /usr/local/xml #安装目录

make

make install

安装完成后/usr/local/xml下会多生成4个文件夹

bin include lib share

二、运行demo

使用Eclipse开发,新建C++项目。

1、解决头文件路径问题。

默认包含的目录下面会自动添加libxml的头文件。如果Eclipse没有自动添加,我们可以手动添加,右键properties,进行以下修改 

俺安装后的头文件路径为

$/include/libxml2/libxml/*.h

而源代码里面的工作目录默认为

这时候工程是无法找到这些文件的,我们需要做的就是将目录修改一下。

$/include/libxml/*.h

当然,还有一种办法是将那些头文件的包含的代码修改一下。例如:

#include

修改为

#include 

这种方式是要将几十个头文件都做这种处理,俺才不会那么傻呢。

2、demo src

void  writeXML(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文档被创建,写入"<"个字节"<<endl;
      }
      //释放文档内节点动态申请的内存
      xmlFreeDoc(doc);
}

3、设置lib

Eclipse设置链接路径: /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.htm

Ubuntu libxml2 http://www.linuxidc.com/Linux/2007-10/8075.htm

Libxml2在Linux下的使用 http://www.linuxidc.com/Linux/2014-01/95402.htm

Ubuntu下用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


推荐阅读
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • 本文介绍了在Ubuntu 11.10 x64环境下安装Android开发环境的步骤,并提供了解决常见问题的方法。其中包括安装Eclipse的ADT插件、解决缺少GEF插件的问题以及解决无法找到'userdata.img'文件的问题。此外,还提供了相关插件和系统镜像的下载链接。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • STM32与FPGA的对比及学习建议
    本文对比了野火STM32F103指南针板和Xilinx的PYNQ-Z2板(ZYNQ-7020),介绍了野火STM32F103指南针板的学习资料和讲解视频的详细程度,建议初学者学习野火的资料。同时,介绍了STM32开发所用的Keil程序和C指针的重要性。对于ZYNQ-7020的开发,提到了其自带的Linux、Ubuntu18.4系统以及使用SD卡烧入镜像的方法。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 本文介绍了在Ubuntu系统中清理残余配置文件和无用内容的方法,包括清理残余配置文件、清理下载缓存包、清理不再需要的包、清理无用的语言文件和清理无用的翻译内容。通过这些清理操作可以节省硬盘空间,提高系统的运行效率。 ... [详细]
author-avatar
loassde_392
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有