您的位置:首页 > 其它

LINU X UTF8

2015-09-03 16:09 260 查看

创建一个xml文档流程如下:

l    用xmlNewDoc函数创建一个文档指针doc;

l    用xmlNewNode函数创建一个节点指针root_node;

l    用xmlDocSetRootElement将root_node设置为doc的根结点;

l    给root_node添加一系列的子节点,并设置子节点的内容和属性;

      用函数xmlAddChild或xmlNewChild

l    用xmlSaveFile将xml文档存入文件;

l    用xmlFreeDoc函数关闭文档指针,并清除本文档中所有节点动态申请的内存

#include </usr/include/libxml2/libxml/parser.h>

#include </usr/include/libxml2/libxml/tree.h>

int main(int argc , char **argv)

{

      // 创建一个指向文档的指针节点

  xmlDocPtr     pdoc = NULL;

     //创建并初始化xml文件内的节点,本程序是两层

  xmlNodePtr    proot_node = NULL ,pnode = NULL;

     //对文档指针初始化

  pdoc = xmlNewDoc( BAD_CAST "1.0");

     //对根节点申请创建

  proot_node  = xmlNewNode(NULL , BAD_CAST "vm");

     //设置根节点进行属性

  xmlNewProp(proot_node , NULL , NULL);

     //使根结点和文档结点进行关联,定义该文档的根结点

  xmlDocSetRootElement(pdoc , proot_node);

     //对节点pnode进行申请创建

  pnode = xmlNewNode( NULL , BAD_CAST "resp" );

     //设置根节点属性

  xmlNewProp(pnode , BAD_CAST"value" , BAD_CAST"0");

     //  创造root节点的子节点,产生层次结构,定义谁是谁的子结点

  xmlAddChild(proot_node,pnode);

      //保存文档

  xmlSaveFormatFileEnc(argc > 1 ? argv[1] : "-", pdoc, "UTF-8", 1);//显示行格式化输出

  xmlSaveFile("CreatedXml.xml",pdoc);                               //常用输出方式

      //释放文档指针

  xmlFreeDoc(pdoc);

  xmlCleanupParser();

  xmlMemoryDump();      //debug memory for regression tests

  return(0);

}

//如果需要对某节点添加内容,则需要进行一下操作.

//  xmlNodePtr content = xmlNewText(BAD_CAST"NODE CONTENT");

//  xmlAddChild(node,content);

//如果采取变量拼接方法的话则进行一下操作

//  value=flag;

//char *str;

//str=(char *)malloc(100);

//sprintf(str,"%d",value);

//xmlNewProp(node,BAD_CAST"value",BAD_CAST str);此时对某节点属性和值进行采取变量方式设置

//使用sprintf不要忽略头文件的包含#include<stdio.h>

//如果需要添加子结点,还可以采取函数 
//xmlNodePtr p1=xmlNewChild        (proot_node, NULL,    BAD_CAST "resp" , NULL );
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: