- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
libxml2应用实例.doc.doc
字号:大 中 小
一、Libxml2介绍:?Libxml2 是一个xml的c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件。它除了支持c语言版以外,还支持c++、PHP、Pascal、Ruby、Tcl等语言的绑定,能在Windows、Linux、Solaris、MacOsX等平台上运行。功能还是相当强大的,相信满足一般用户需求没有任何问题。二、 Libxml2安装:?一般如果在安装系统的时候选中了所有开发库和开发工具的话(Fedora Core系列下),应该不用安装,下面介绍一下手动安装:? 1) 从xmlsoft站点或ftp()站点下载libxml压缩包(libxml2-xxxx.tar.gz)??2) 对压缩包进行解压缩 ??tar xvzf libxml2-xxxx.tar.gz??3) 进入解压缩后的文件夹中运行?? ? ./configure --prefix /home/user/myxml/xmlinst(此处为待安装的路径)或者直接使用 ./configure??? ? make?? ? make install?? ? 4)????? 添加路径??????????????? export PATH=/home/user/myxml/xmlinst/bin:$PATH
??
??说明:为了结构清晰,最好将libxml2不安装在解压目录中。?安装完成后就可以使用简单的代码解析XML文件,包括本地和远程的文件,但是在编码上有一些问题。Libxml默认只支持UTF-8的编码,无论输入输出都是UTF-8,所以如果你解析完一个XML得到的结果都是UTF-8的,如果需要输出GB2312或者其它编码,需要ICONV来做转码(生成UTF-8编码的文件也可以用它做),如果系统中没有安装iconv的话,需要安装libiconv。? 1) 下载libiconv压缩包(例如libiconv-1.11.tar.gz)? 2) 对压缩包进行解压缩?tar xvzf libiconv-1.11.tar.gz? 3) 进入解压缩后的文件夹中运行??? ./configure??? make??? make install三、关于XML:?在开始研究 Libxml2 库之前,先了解一下XML的相关基础。XML 是一种基于文本的格式,它可用来创建能够通过各种语言和平台访问的结构化数据。它包括一系列类似 HTML 的标记,并以树型结构来对这些标记进行排列。?例如,可参见清单 1 中介绍的简单文档。为了更清楚地显示 XML 的一般概念,下面是一个简化的XML文件。?清单 1. 一个简单的 XML 文件? ?xml version=1.0 encoding=UTF-8???files?? ownerroot/owner
?? actiondelete/action?? age units=days10/age??/files?清单 1 中的第一行是 XML 声明,它告诉负责处理 XML 的应用程序,即解析器,将要处理的 XML 的版本。大部分的文件使用版本 1.0 编写,但也有少量的版本 1.1 的文件。它还定义了所使用的编码。大部分文件使用 UTF-8,但是,XML 设计用来集成各种语言中的数据,包括那些不使用英语字母的语言。?接下来出现的是元素。一个元素以开始标记 开始(如 files),并以结束标记 结束(如 /files),其中使用斜线 (/) 来区别于开始标记。元素是 Node 的一种类型。XML 文档对象模型 (DOM) 定义了几种不同的 Nodes 类型,包括:?Elements(如 files 或者 age)?Attributes(如 units)?Text(如 root 或者 10)?元素可以具有子节点。例如,age 元素有一个子元素,即文本节点 10。?XML 解析器可以利用这种父子结构来遍历文档,甚至修改文档的结构或内容。LibXML2 是这样的解析器中的其中一种,并且文中的示例应用程序正是使用这种结构来实现该目的。对于各种不同的环境,有许多不同的解析器和库。LibXML2 是用于 UNIX 环境的解析器和库中最好的一种,并且经过扩展,它提供了对几种脚本语言的支持,如 Perl 和 Python。
?四、??Libxml2
一个函数库中可能有几百种数据类型以及几千个函数,但是记住大师的话,90%的功能都是由30%的内容提供的。对于libxml2,我认为搞懂以下的数据类型和函数就足够了。
1)?xmlChar
xmlChar是Libxml2中的字符类型,库中所有字符、字符串都是基于这个数据
您可能关注的文档
- EIcompendexweb数据库-深圳大学图书馆.ppt
- EICompendex数据库培训.ppt.ppt
- EIM代理消息定义-CSDNCode.doc
- EIVillage2数据库检索指南.ppt-广东海洋大学图书馆.ppt
- EiVillage工程索引数据库.ppt-南京邮电大学图书馆.ppt
- EI数据库的检索与使用EIVillage2介绍.ppt
- EI(工程索引)使用指南(详本).doc-广东海洋大学图书馆.doc
- Emerald数据库资源简介.doc
- endMATLABR2006a基础教程中国石油大学(北京)电子信息工程系第3.ppt
- EngineeringCompendexWeb文摘型数据库使用指南.doc
- 《土地流转政策对农业规模化经营中的土地资源优化配置与可持续利用研究》教学研究课题报告.docx
- 2025年国际视角下社区智慧养老网络构建可行性研究报告.docx
- 高中生物教育资源开发中的人工智能版权保护与知识付费模式研究教学研究课题报告.docx
- 金融行业数字化转型对金融监管的影响研究教学研究课题报告.docx
- 《互联网金融风险监管中的金融风险防范与金融科技创新应用实践研究》教学研究课题报告.docx
- 高中生网络暴力现象调查与防治策略教学研究课题报告.docx
- 2025年国际贸易数字化平台建设风险与机遇评估报告.docx
- 2025年在线教育课程设计中的教学效果追踪与分析.docx
- 2025年城市公园智能健身设备改造政策法规及实施建议.docx
- 《商业银行信用卡业务风险防范中的社会因素与对策研究》教学研究课题报告.docx
最近下载
- 水泵进出口管径计算及核对计算表.xls VIP
- 2025年淮安出租车从业资格证模拟考试试题.docx VIP
- DBJ50T-376-2020 老旧小区改造提升建设标准 .docx VIP
- “校园服务” 校园生活服务商业计划书.docx
- 35kV箱式变电站(华变)2500KVA技术规范书.doc VIP
- 欧陆SSD690+软件手册.pdf
- 电子工程通信技术 - 4G终端测试规范——3GPPTS36.521测试项解析.pdf VIP
- 病案管理质量控制指标.pptx VIP
- 沙漠治理的施工组织设计.doc VIP
- IEC 61000-3-2-2024(E) Electromagnetic compatibility (EMC) – Part 3-2:Limits – Limits for harmonic current emissions (equipment input current 16 A per phase) 电磁兼容性(EMC) . 第3-2部分: 极限. 谐波电流发射的极限(设备输入电流每相16A).pdf
文档评论(0)