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;
    }

  • 相关阅读:
    启用oracle 11g自己主动收集统计信息
    在java中,怎样跳出当前的多重循环?
    从编程的角度理解gradle脚本﹘﹘Android Studio脚本构建和编程[魅族Degao]
    【SpringMVC架构】SpringMVC入门实例,解析工作原理(二)
    实现icon和文字垂直居中的两种方法-(vertical-align and line-height)
    android发送get请求时报错
    KeyEvent 键码值
    Android-黑科技-微信抢红包必备软件
    Delicious Apples (hdu 5303 贪心+枚举)
    vim 插件配置博客记录
  • 原文地址:https://www.cnblogs.com/joeyupdo/p/2621124.html
Copyright © 2011-2022 走看看