zoukankan      html  css  js  c++  java
  • xml文件的创建

    #include <stdio.h>
    #include <libxml/parser.h>
    #include <libxml/xpath.h>
    #include <libxml/tree.h>

    int main()
    {
       //定义文档和节点指针
       xmlDocPtr doc = xmlNewDoc(BAD_CAST  "1.0");
       xmlNodePtr root_node = xmlNewNode(NULL,  BAD_CAST  "root");

       //设置根节点
       xmlDocSetRootElement(doc,  root_node);

       //在根节点中直接创建节点
       xmlNewTextChild(root_node, NULL,  BAD_CAST  "newNode1",  BAD_CAST  "newNode1 content");
       xmlNewTextChild(root_node, NULL,  BAD_CAST  "newNode2",  BAD_CAST  "newNode2 content");
       xmlNewTextChild(root_node, NULL,  BAD_CAST  "newNode3",  BAD_CAST  "newNode3 content");

       //创建一个节点,设置其内容和属性,然后加入根结点
       xmlNodePtr node = xmlNewNode(NULL,  BAD_CAST  "node2");
       xmlNodePtr content = xmlNewText(BAD_CAST  "NODE CONTENT");

      //将节点添加到根节点
       xmlAddChild(root_node,  node);
       xmlAddChild(node,  content);
       xmlNewProp(node,  BAD_CAST  "attribute",  BAD_CAST  "yes");

       //创建一个儿子和孙子节点
       node = xmlNewNode(NULL,  BAD_CAST  "son");
       xmlAddChild(root_node,  node);
       xmlNodePtr grandson = xmlNewNode(NULL, BAD_CAST  "grandson");
       xmlAddChild(node,  grandson);
       xmlAddChild(grandson, xmlNewText(BAD_CAST  "This is a grandson node"));

       //存储xml文档
       int nRel = xmlSaveFile("Create.xml",  doc);
       if (nRel != -1) {

        printf("一个xml文档被创建,写入%d个字节。\n",  nRel);
       }

       //释放文档内节点动态申请的内存
       xmlFreeDoc(doc);

       return  0;
    }

  • 相关阅读:
    centos 添加 composer
    laravel5 缓存的使用
    git 的使用
    php 消息队列 rabbitmq 的安装使用
    vue插件大汇总
    vue 2.0 Gzip打包压缩
    Easy Mock 为啥那么打不开了?
    element ui 打印 表格
    解决 element 日期范围选择问题(只能选择相邻的 连两个月)
    vue router 的路由传参 params 和 query 的 区别
  • 原文地址:https://www.cnblogs.com/joeyupdo/p/2621124.html
Copyright © 2011-2022 走看看