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

  • 相关阅读:
    EF上下文容器,保存线程唯一性
    zabbix 监控服务器的TCP状态
    C++ 类里面,函数占用存储空间问题
    大道至简第一章读后感(伪代码)
    读大道至简有感
    String 部分源码分析
    LinkedList 源码分析
    ArrayList 源码分析
    定时取数据库的schema,并推送到git服务器
    全面解读python web 程序的9种部署方式
  • 原文地址:https://www.cnblogs.com/joeyupdo/p/2621124.html
Copyright © 2011-2022 走看看