Welcome 微信登录

首页 / 操作系统 / Linux / Linux环境下C使用的XML解析库:libxml2

Libxml是一个实现读、创建及操纵XML数据功能的C语言库。这个指南提供例子代码并给 出它基本功能的解释。在这个项目的主页上有Libxml及更多关于它可用的资料。包含有完整的API文档。这个指南并不能替代这些完整的文档,但是阐明功 能需要使用库来完成基本操作。这个指南基于一个简单的XML应用,它使用我写的一篇文章生成,它包含有元数据和文章的主体。本指南中的例子代码示范如何做到:? 解析文档? 取得指定元素的文本? 添加一个元素及它的内容? 添加一个属性? 取得一个属性的值例子的完整代码包含在附录中数据类型Libxml定义了许多数据类型,我们将反复碰到它们,它隐藏了杂乱的来源以致你不必处理它 除非你有特定的需要。xmlChar 替代char,使用UTF-8编码的一字节字符串。如果你的数据使用其它编码,它必须被转换到UTF-8才能使用libxml的函数。在libxml编码 支持WEB页面有更多关于编码的有用信息。XmlDoc 包含由解析文档建立的树结构,xmlDocPtr是指向这个结构的指针。xmlNodePtr and xmlNode 包含单一结点的结构xmlNodePtr是指向这个结构的指针,它被用于遍历文档树。解析文档解析文档时仅仅需要文件名并只调用一个函数,并有错误检查。完整代码:附录C, Keyword例程代码①xmlDocPtr doc;②xmlNodePtr cur;③doc = xmlParseFile(docname);④if (doc == NULL ) {fprintf(stderr,"Document not parsed successfully. ");return;}⑤cur = xmlDocGetRootElement(doc);⑥if (cur == NULL) {fprintf(stderr,"empty document ");xmlFreeDoc(doc);return;}⑦if (xmlStrcmp(cur->name, (const xmlChar *) "story")) {fprintf(stderr,"document of the wrong type, root node != story");xmlFreeDoc(doc);return;}①定义解析文档指针。②定义结点指针(你需要它为了在各个结点间移动)。④检查解析文档是否成功,如果不成功,libxml将指一个注册的错误并停止。注释一个常见错误是不适当的编码。XML标准文档除了用UTF-8或UTF-16外还可用其它编码保存。如果文档是这样,libxml将自动地为你转换到UTF-8。更多关于XML编码信息包含在XML标准中。⑤取得文档根元素⑥检查确认当前文档中包含内容。⑦在这个例子中,我们需要确认文档是正确的类型。“Story”是在这个指南中使用文档的根类型。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 下一页
Linux下基于XScale的USB摄像头图像采集UNIX/Linux下的vi/vim编辑器快速替换字符串相关资讯      Linux教程 
  • Linux教程:如何在命令行中查看目  (07/28/2014 12:22:23)
  • Linux 修改root密码  (11/03/2012 07:53:38)
  • su - root 与su root的区别  (06/06/2012 00:39:40)
  • Linux进程间通信:消息队列  (01/28/2013 09:43:00)
  • U盘安装Linux开机无法启动解决方法  (10/07/2012 08:55:52)
  • Windows 7/Linux 同步时间  (05/15/2012 06:17:55)
本文评论 查看全部评论 (0)
表情: 姓名: 字数