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

  • 相关阅读:
    LeetCode "Median of Two Sorted Arrays"
    LeetCode "Distinct Subsequences"
    LeetCode "Permutation Sequence"

    LeetCode "Linked List Cycle II"
    LeetCode "Best Time to Buy and Sell Stock III"
    LeetCode "4Sum"
    LeetCode "3Sum closest"
    LeetCode "3Sum"
    LeetCode "Container With Most Water"
  • 原文地址:https://www.cnblogs.com/joeyupdo/p/2621124.html
Copyright © 2011-2022 走看看