asp.net2.0 利用Dataset,从数据库导出并生成无限级类别的XML文件

原创 2007年09月17日 00:58:00

数据表结构如下:

ID:自增标识ID,
ParentID:父级ID,
ClassName:类别名称

CS代码如下:

 public DataSet ds = new DataSet();
    
public DataTable dt;
    XmlDocument xmlDoc 
= new XmlDocument();

    
protected void Page_Load(object sender, EventArgs e)
    
{
        SqlConnection con 
= new SqlConnection("Data Source=HN;Initial Catalog=yiming;User ID=sa;Password=sa"); 

        SqlDataAdapter ad 
= new SqlDataAdapter("select * from class", con);
        ad.Fill(ds, 
"class");
        dt 
= ds.Tables["class"];
      
        xmlDoc.Load(Server.MapPath(
"~/xml.xml"));
        XmlNode root 
= xmlDoc.SelectSingleNode("Root"); //查找<rootTreenode>
        
//删除初根节点外的所有节点。
        root.RemoveAll();

        DataRow[] drs 
= dt.Select("parentID=0");
        
foreach (DataRow r in drs)
        
{
            XmlElement treenode1 
= (XmlElement)root;

            treenode1.SetAttribute(
"Node_ID", r["ID"].ToString());
            treenode1.SetAttribute(
"Father_ID", r["parentid"].ToString());
            treenode1.SetAttribute(
"NodeName", r["classname"].ToString());

            NodeEach(r[
"id"].ToString(), treenode1);
        }

        xmlDoc.Save(Server.MapPath(
"~/xml.xml"));

        Response.Write(count.ToString());
    }


    
public void NodeEach(string id, XmlNode treenode)
    
{
        DataRow[] drs 
= dt.Select("parentID=" + id);
        
foreach (DataRow r in drs)
        
{
            XmlElement treenode2 
= xmlDoc.CreateElement("treenode"); //创建一个<treenode>节点
            treenode2.SetAttribute("Node_ID", r["ID"].ToString());
            treenode2.SetAttribute(
"Father_ID", r["parentid"].ToString());
            treenode2.SetAttribute(
"NodeName", r["classname"].ToString());
            treenode.AppendChild(treenode2);

            NodeEach(r[
"id"].ToString(), treenode2);
        }


    }

相关文章推荐

ASP.NET2.0中将文件上传到数据库

此问题经常被人问,本文列出将文字和图片上传到数据库的方法。包括Access数据库和SQL Server数据库。 Access数据库代码 protected void Bu...

利用已有数据库配合ASP.NET2.0内置用户 角色 授权系统打造自己的权限分配程序(2)

接上面 当我们按照上面的步骤执行之后,就可以得用"ASP.NET 2.0提供的网站配置工具",在"安全"项目中为各角色建立访问规则了. 但有一点要注意,就是ASP.NET 2.0的访问规则是以"文...

asp.net2.0导出pdf文件完美解决方案

PDF简介:PDF(Portable Document Format)文件格式是Adobe公司开发的电子文件格式。这种文件格式与操作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还...

Asp.Net数据库查询生成XML文件

DAL层 using System; using System.Collections.Generic; using System.Text; using MODEL; using Syst...

ASP.NET+Extjs2.0读取xml文件显示在GridPanel面板上

//IE9必须加上此段代码 if ((typeof Range !== "undefined") && !Range.prototype.createContextualFragme...

ASP.NET2.0 SQL Server数据库连接详解

今天学习建立ASP.NET 与SQL Server数据库建立连接的方法,在网上搜到一片好文章,果断收藏了!共勉!            文将详细介绍如何使用Connection对象连接数据库 。对于不...

ASP.NET2.0文件图片处理

1.最简单的单文件上传(没花头) 2.多文件上传 3.客户端检查上传文件类型(以上传图片为例) 4.服务器端检查上传文件类型(以上传图片为例) 5.服务器端检查上传文件类型(可以检测真正文...

在线文件管理系统(Asp.net2.0,Ajax,3层架构)

====================================================== 注:本文源代码点此下载 =============================...

asp.net2.0实现文件上传,控制上传文件大小,类型

1、建立Default.aspx文件和文件夹upLoad 2、Default.aspx代码如下: 无标题页 onClick="Button1_...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net2.0 利用Dataset,从数据库导出并生成无限级类别的XML文件
举报原因:
原因补充:

(最多只允许输入30个字)