Libxml库基本介绍

一. 前言

        Libxml是一个c语言库,实现了对于XML数据的读,创建和操作的函数。

二. 基本数据类型

1. xmlChar

        作为替换c语言的char类型,表示在UTF-8编码的字符串中的一个字节,对于其他编码的数据,必须转换为UTF-8才能使用Libxml函数。

2. xmlDoc

        表示一个包含整个xml树元素的结构体,xmlDocPtr用于定义一个指针,指向该结构体。

3. xmlNode

        包含单个节点元素的结构体,xmlNodePtr用于定义一个指针,指向  该结构体。

三. 基本函数

1. xmlDocPtr xmlParseFile(const char *filename)

        xmlParseFile用于解析一个XML格式的文件。参数是XML文件名,返回值是xmlDocPtr指针,包含整个XML结构的元素。

2. xmlNodePtr xmlDocGetRootElement(xmlDocPtr doc)

        用于检索XML树的根节点。参数doc是一个指向整个XML结构的xmlDocPtr指针,返回值是指向根节点的xmlNodePtr指针。

3. xmlChar *xmlNodeListGetString(xmlDocPtr doc, xmlNodePtr list, int inLine)

        获取某个节点的内容。doc是指向当前XML树的指针,list通常是指向当前节点的子节点,

4. xmlFreeDoc(xmlDocPtr cur) 

        释放为xml树分配的内存。例如xmlParseFile函数返回的指针指向的内存空间。

5. xmlFree(xmlChar *content)

        释放xmlChar*指向的内存空间,例如释放xmlNodeListGetString函数返回的xmlChar*指针指向的空间。

6. int xmlStrcmp(const xmlChar *str1, const xmlChar *str2)

        比较两个字符串是否相同。用法同c语言库函数strcmp。

7. xmlSaveFormatFile(const char *filename, xmlDocPtr cur, int format)

        将内存中的xml树结构格式化输出到文件中。filename是输出的文件名,cur是xml树结构,format是否格式化输出,format=0表示xml在文件中保存为单行并没有空格。format=1表示xml以缩进换行的格式输出,但是必须同时调用xmlKeepBlanksDefault(0)

8. xmlNewTextChild(xmlNodePtr parent, xmlNsPtr ns, const xmlChar *name, const xmlChar *content)

        新建一个子节点。parent表示父节点,ns设置为NULL,name表示节点名,content表示节点的内容。

9. xmlDocPtr xmlNewDoc(const xmlChar *version)

        新建一个xml树文档结构。version表示xml的版本,返回xmlDocPtr指针。

10. xmlNodePtr xmlNewDocNode(xmlDocPtr doc, xmlNsPtr ns, const xmlChar *name, const xmlChar *content)

        在xml文档结构下新建一个节点。doc是文档树指针,ns为NULL,name表示节点名称,content表示节点内容。

11. xmlNodePtr xmlDocSetRootElement(xmlDocPtr doc, xmlNodePtr root)

        将root节点设置为根节点。doc为该文档指针。

四. 总结

        本文介绍了libxml基本的数据结构和函数,了解了怎么操作xml文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值