LINUX EXT

来源:互联网 发布:房地产销售软件 编辑:程序博客网 时间:2024/06/01 10:34

LINUX EXT

libxml2-dev

xml广泛应用于网络数据交换,配置文件、Web服务等等。近段时间项目中做一些配置文件,原来是用ini,现在改用xml。xml相对来说可视性更为直观,很容易看出数据之间的层次关系。
关于libxml2的提供的接口,可以参考http://blog.csdn.net/shanzhizi/article/details/7726679。libxml2常用的接口如下:

内部字符类型:xmlChar,定义为:typedef unsigned char xmlChar,用无符号型的char方便表示utf-8编码。libxml2提供了一个宏进行转换,#define BAD_CAST (xmlChar *)。
文档类型xmlDoc,指针类型xmlDocPtr。xmlDoc是个struct,保存了一个xml的相关信息,例如文件名、文件类型、子节点等等;xmlDocPtr等于xmlDoc*。
  • xmlNewDoc函数创建一个新的文件指针。
  • xmlParseFile函数以默认方式读入一个UTF-8格式的文件,并返回文件指针。
  • xmlReadFile函数读入一个带有某种编码的xml文件,并返回文件指针;细节见libxml2参考手册。
  • xmlFreeDoc释放文件指针。特别注意,当你调用xmlFreeDoc时,该文件所有包含的节点内存都被释放。 
  • xmlFreeNodeList来释放动态分配的节点内存,除非你把该节点从文件中移除了。
  • xmlSaveFile将文件以默认方式存入一个文件。
  • xmlSaveFormatFileEnc可将文件以某种编码/格式存入一个文件中。
节点类型xmlNode、指针xmlNodePtr
节点应该是xml中最重要的元素了,xmlNode代表了xml文件中的一个节点,实现为一个struct,内容非常丰富:tree.h
  • xmlDocSetRootElement函数能将一个节点设置为某个文件的根节点
  • xmlNewNode函数创建一个节点指针root_node
0 0
原创粉丝点击