[XML文档解析]libxml2对XML文件的创建、解析、查找、修改

本文介绍了如何使用libxml2库进行XML文档的操作,包括创建XML文档、解析XML内容、查找特定节点以及修改XML元素和属性。通过示例代码展示了libxml2在处理XML时的常用函数和方法,如xmlNewDoc(), xmlParseFile(), xmlDocGetRootElement(), XPath等,以及注意事项,如编码问题和错误检查。" 112153493,10542547,Git实战:从入门到关联Gitlab,"['Git', 'Gitlab', '版本库', 'Python', 'Django']
摘要由CSDN通过智能技术生成

一、创建XML文档:

我们使用xmlNewDoc()来创建XML文档,然后使用xmlNewNode(),xmlNewChild(),xmlNewProp(),xmlNewText()等函数向XML文件中添加节点及子节点,设置元素和属性,创建完毕后用xmlSaveFormatFileEnc()来保存XML文件到磁盘(该函数可以设置保存XML文件时的编码格式)。

示例1:

 #include <stdio.h>

   #include <libxml/parser.h>

   #include <libxml/tree.h>

   int main(int argc, char **argv)

   {

           xmlDocPtr doc = NULL;       /* document pointer */

          xmlNodePtr root_node = NULL, node = NULL, node1 = NULL;/* node pointers */

    // Creates a new document, a node and set it as a root node

          doc = xmlNewDoc(BAD_CAST "1.0");

          root_node = xmlNewNode(NULL, BAD_CAST "root");

          xmlDocSetRootElement(doc, root_node);

          //creates a new node, which is "attached" as child node of root_node node.

          xmlNewChild(root_node, NULL, BAD_CAST "node1",BAD_CAST "content of node1");

          // xmlNewProp() creates attributes, which is "attached" to an node.

          node=xmlNewChild(root_node, NULL, BAD_CAST "node3", BAD_CAST"node has attributes");

          xmlNewProp(node, BAD_CAST "attribute", BAD_CAST "yes");

          //Here goes another way to create nodes.

          node = xmlNewNode(NULL, BAD_CAST "node4");

          node1 = xmlNewText(BAD_CAST"other way to create content");

          xmlAddChi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值