2020-08-14

文章转自:[https://blog.csdn.net/mq22085/article/details/6043647

常用的libxml2函数归拢了下:

int xmlKeepBlanksDefault(int val) //设置是否保留空白节点,默认为1,最好设置为0。

解析 xmlDocPtr xmlParseFile(const char * filename) // 从磁盘解析一个xml文件

xmlDocPtr xmlParseMemory(const char * buffer, int size) // 从内存中解析一个xml文件

xmlDocPtr xmlReadFile(const char * filename, const char * encoding, int options) // 从磁盘解析一个xml文件,能设置解析的编码和选项

根节点相关函数 xmlNodePtr xmlDocGetRootElement(xmlDocPtr doc) // 获取根节点

xmlNodePtr xmlDocSetRootElement(xmlDocPtr doc, xmlNodePtr root); // 设置文档根节点

节点相关函数 xmlNodePtr xmlNewNode(xmlNsPtr ns, const char * name) // 创建新节点

xmlNodePtr xmlNewTextChild(xmlNodePtr parent, xmlNsPtr ns, const xmlChar * name, const xmlChar * content) // 创建并添加一个子节点

xmlNodePtr xmlAddChild(xmlNodePtr parent, xmlNodePtr cur) // 添加一个指定节点

xmlNodePtr xmlCopyNode(const xmlNodePtr node, int extended) //复制当前节点

xmlChar * xmlNodeGetContent(xmlNodePtr cur) // 获取节点值,需要使用xmlFree()释放

void xmlNodeSetContent(xmlNodePtr cur, const xmlChar * content) // 设置节点值 属性相关函数

xmlAttrPtr xmlNewProp(xmlNodePtr node, const xmlChar * name, const xmlChar * value) // 创建新属性

xmlChar * xmlGetProp(xmlNodePtr node, const xmlChar * name) // 读取节点属性,需要用xmlFree()释放

xmlAttrPtr xmlSetProp(xmlNodePtr node, const xmlChar * name, const xmlChar * value) // 设置节点属性 保存 int xmlSaveFormatFileEnc(const char * filename, xmlDocPtr cur, const char * encoding, int format) // 保存xml文件到磁盘,format设置为1,与xmlKeepBlanksDefault(0)配合使用,节点之间有缩进

void xmlDocDumpMemoryEnc(xmlDocPtr out_doc, xmlChar ** doc_txt_ptr, int * doc_txt_len, const char * txt_encoding) // 保存xml文件到内存中,将xml文件转换成string或char *时可以利用该函数 移动

cur = node->xmlChildrenNode; //指向node的孩子节点

cur = node->next; //指向node的下一节点

比较 int xmlStrcmp(const xmlChar * str1, const xmlChar * str2) // 比较,可利用while循环和该函数寻找指定节点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值