• libxml2实例


    // libxmlTest.cpp : 定义控制台应用程序的入口点。
    //
    
    #include "stdafx.h"
    #include <stdio.h>
    #include <libxml/parser.h>
    #include <libxml/tree.h>
    #include <iostream>
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
        //定义文档和节点指针
        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("CreateXml.xml",doc);
        if (nRel != -1)
        {
            printf("一个xml文档被创建,写入%d个字节",nRel);
        }
        //释放文档内节点动态申请的内存
        xmlFreeDoc(doc);
        getchar();
        
        return 0;
    }

  • 相关阅读:
    BZOJ2648: SJY摆棋子
    BZOJ1925: [Sdoi2010]地精部落
    BZOJ1941: [Sdoi2010]Hide and Seek
    BZOJ2434: [Noi2011]阿狸的打字机
    BZOJ3295: [Cqoi2011]动态逆序对
    BZOJ1406: [AHOI2007]密码箱
    BZOJ1115: [POI2009]石子游戏Kam
    BZOJ1531: [POI2005]Bank notes
    BZOJ2730: [HNOI2012]矿场搭建
    计算几何《简单》入土芝士
  • 原文地址:https://www.cnblogs.com/newlist/p/3139835.html
Copyright © 2020-2023  润新知