Chinaunix首页 | 论坛 | 博客
  • 博客访问: 141624
  • 博文数量: 39
  • 博客积分: 993
  • 博客等级: 准尉
  • 技术积分: 335
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-14 16:36
个人简介

https://github.com/dengdaiyemanren

文章分类

全部博文(39)

文章存档

2015年(1)

2012年(3)

2011年(27)

2010年(4)

2008年(4)

分类: C/C++

2008-10-31 00:00:38

这是可行的方法, 我相信不是最好的方法,面向刚刚接触这些东西的人。
想在windows vc6.0下配置个环境变量,导入libxml2包方法。
1.分别解压iconv,libxml,zlib包在C盘。
2.在vc的tool选项中optations中选择directories中加上include文件和lib文件的路径。
3 你再新建一个工程,
  在project中选settings,在linking中加入iconv.lib,libxml2.lib
4. 新建一个文件
    插入以下代码:
5.这样就对了,生成了个xml文件。


#include <libxml/parser.h>
#include <libxml/tree.h>
#include <iostream.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("CreatedXml.xml",doc);
    if (nRel != -1)
    {
       cout<<"一个xml文档被创建,写入"<<nRel<<"个字节"<<endl;
    }
    //释放文档内节点动态申请的内存
    xmlFreeDoc(doc);
    return 1;

}

阅读(4269) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~