C_XML..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C_XML.

linux c xml 编程 2007-04-23 18:27:04 / 个人分类:linux c 编程 linux c xml 编程测试。 在网络上似乎找不到太多的资料。 我觉得 /tutorial/index.html 的教程不错。给大家介绍一下。。是英文,不过很简单。相信做编程的人不会看不懂。。 给出国内的一资料,写得也很不错。(程序 我测试过了) 使用简介 数据类型: xmlChar? 替代char,使用UTF-8编码的一字节字符串。如果你的数据使用其它编码,它必须被转换到UTF-8才能使用libxml的函数。 XmlDoc 包含由解析文档建立的树结构,xmlDocPtr是指向这个结构的指针。 xmlNodePtr and xmlNode 包含单一结点的结构 xmlNodePtr是指向这个结构的指针,它被用于遍历文档树。 ??????? 优点:1.?? 安装、使用比较简单,容易入门;2.?? 支持的编码格式较多,能很好的解决中文问题(使用一个很简单的编码转换函数);3.?? 支持Xpath解析(这点对于任意定位xml文档中的节点还是很有用的哦);4.支持Well-formed 和valid验证,具体而言支持DTD验证,Schema验证功能正在完善中(目前多数解析器都还不完全支持shema验证功能);5.?? 支持目前通用的Dom、Sax方式解析等等。 ?????? 不足:1.? 指针太多,使用不当时就会出现错误,在Linux系统中表现为常见的段错误,同样管理不当易造成内存泄漏;2.个人认为内面有些函数的功能设计的不是很好(比如获取Xpath函数,它不获取节点属性,这样子有些情况会定位不准)。 ?????? 在学习libxml2中,最好的学习手册就是由官方开发者提供的开发手册就是libxml2-devel-2.6.19,rpm –q –d libxml2获得文档路径,就是它了。 关于xml 开始研究 LibXML2 库之前,让我们先来巩固一下 XML 的相关基础。XML 是一种基于文本的格式,它可用来创建能够通过各种语言和平台访问的结构化数据。它包括一系列类似 HTML 的标记,并以树型结构来对这些标记进行排列。 例如,可参见清单 1 中介绍的简单文档。这是配置文件部分中研究的配置文件示例的简化版本。为了更清楚地显示 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。而 files 元素有七个子元素。其中三个很明显。它们分别是三个子元素:owner、action和age。其他四个分别是元素前后的空白文本符号。 XML 解析器可以利用这种父子结构来遍历文档,甚至修改文档的结构或内容。LibXML2 是这样的解析器中的其中一种,并且文中的示例应用程序正是使用这种结构来实现该目的。对于各种不同的环境,有许多不同的解析器和库。LibXML2 是用于 UNIX 环境的解析器和库中最好的一种,并且经过扩展,它提供了对几种脚本语言的支持,如 Perl 和 Python。 ? 1 tree /******************************************* ?* compile: gcc -I/usr/include/libxml2/ -lxml2 tree1.c ?* usage: create a xml tree ?* *******************************************/ #include stdio.h #include libxml/parser.h #include libxml/tree.h??

文档评论(0)

kaiss + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档