// 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 != -)
{
printf("一个xml文档被创建,写入%d个字节",nRel);
}
//释放文档内节点动态申请的内存
xmlFreeDoc(doc);
getchar(); return ;
}

libxml2实例的更多相关文章

  1. 最近学习工作流 推荐一个activiti 的教程文档

    全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...

  2. shell 实例

    转载自:https://github.com/liquanzhou/ops_doc    这里只作为笔记使用,不做他用 shell实例手册 0 说明{ 手册制作: 雪松 更新日期: 2018-09-1 ...

  3. SaltStack系列(四)之实例编写

    前面已经介绍的够多了,这里来让我们写一些完整的实例来梳理一下. 强调一下,sls文件的抒写格式都是"-"后面跟一个空格,然后后面跟参数: 然后后面再跟一个空格,然后是要填写的值.但 ...

  4. MySQL7.5.15数据库配置主从服务器实现双机热备实例教程

    环境说明 程序在:Web服务器192.168.0.57上面 数据库在:MySQL服务器192.168.0.67上面 实现目的:增加一台MySQL备份服务器(192.168.0.68),做为MySQL服 ...

  5. mysql 多实例案例实战

    其实Mysql多实例就是在一个 mysql 服务上面启动三个实例,相当于三个分离开来的数据库,至于为什么要做这个,你也可以选择分别安装三个MySQL,只是过于麻烦,多实例中只需要一个配置档my.cnf ...

  6. MySQL5.7.15数据库配置主从服务器实现双机热备实例教程

    环境说明 程序在:Web服务器192.168.0.57上面 数据库在:MySQL服务器192.168.0.67上面 实现目的:增加一台MySQL备份服务器(192.168.0.68),做为MySQL服 ...

  7. js-静态、原型、实例属性

    本篇来说一下js中的属性: 1.静态属性 2.原型属性 3.实例属性 静态属性: function klass(){} var obj=new klass(); klass.count=0; klas ...

  8. ZIP压缩算法详细分析及解压实例解释

    最近自己实现了一个ZIP压缩数据的解压程序,觉得有必要把ZIP压缩格式进行一下详细总结,数据压缩是一门通信原理和计算机科学都会涉及到的学科,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据 ...

  9. EntityFramework Core 1.1是如何创建DbContext实例的呢?

    前言 上一篇我们简单讲述了在EF Core1.1中如何进行迁移,本文我们来讲讲EF Core1.1中那些不为人知的事,细抠细节,从我做起. 显式创建DbContext实例 通过带OnConfiguri ...

随机推荐

  1. mysql中函数greatest 与MAX区别

    greatest (a,b,c,d,d)max(a) 这样就能看明白了,greatest 求的是某几列的最大值,横向求最大(一行记录)max(a) 一看就明白了,是给纵向求最大(多行记录).

  2. 通过javascript获取元素position

    function getOffset( el ) { var _x = 0; var _y = 0; while( el && !isNaN( el.offsetLeft ) & ...

  3. DICOM中的入门概念

    DICOM标准是医学影像界技术人员逃不掉的标准.本系列专题是JATI对DICOM标准的阐述,力图使PACS管理员和软件工程师都能理解. DICOM标准的提出者DICOM标准委员会是ISO组织的合作者. ...

  4. mysql之ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'解决方法

    LAMPP安装完成之后,mysql -u root -p连不上,报这个错误: ERROR 2002 (HY000): Can't connect to local MySQL server throu ...

  5. An extensible Factory Pattern example

    I have read the book Api Design For C++ recently , and I must say that it is a masterpiece. There is ...

  6. Logon database Tiger引起DataGuard不同步问题

    当DataGuard升级CPU后.发现主备库不能同步了,日志报错,所以在主库的运行的升级的后脚本"@catbundle.sql cpu apply"不能同步到备库 现象: brok ...

  7. HDU 5025图论之BFS

    点击打开链接 题意:从K走到T,S为怪,走的时候就多花费一秒,走到T时收集m把不同的钥匙.可是规定收集n之前,必须1~n-1所有收集完成,怪最多有5个 思路:怪最多就有5个,然后钥匙是1~9把,我们每 ...

  8. Office WPS PPT如何微量调整文本框的位置

    按住Alt键,用鼠标拖动文本框即可以进行微调.    

  9. iOS XMPPFramework 环境配置

    iOS XMPPFramework 环境配置 1:下载 iOS XMPPFramework https://github.com/robbiehanson/XMPPFramework 2:下载解压zi ...

  10. 使用select处理任意数目个客户的单进程程序

    改写http://www.cnblogs.com/nufangrensheng/p/3587962.html中的TCP回射服务器程序,把它重写成使用select来处理任意数目个客户的单进程程序,而不是 ...