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);
        }


    }

运用无限级分类管理数据库原理详解

在做网站开发的过程中需要运用无限极分类管理数据库中的数据。但是无限级分类的原理是什么呢?总结一下吧。 无限极分类就是子节点是父节点分叉产生的。...
  • SchopenhauerZhang
  • SchopenhauerZhang
  • 2017年03月27日 16:59
  • 384

用golang递归构建无限级树状目录json数据和数据库

package main import ( "encoding/json" "fmt" "os" "path/filepath" "sort" ) func main() { root...
  • hotqin888
  • hotqin888
  • 2016年11月13日 19:10
  • 1580

DataSet导出到Excel,并生成文件(C#实现,可合并行和列)

using System; using System.IO; using System.Data; using System.Reflection; using System.Diagnost...
  • xujunheng
  • xujunheng
  • 2014年09月09日 19:06
  • 965

ASP.NET DataSet数据生成Excel文档导出下载

public partial class am_ElectronicInvoinceExportExcel : BasePage { protected void Page_L...
  • luolei3344
  • luolei3344
  • 2017年03月30日 17:06
  • 383

无限级分类实现思路

无限级分类实现思路 关于该问题,暂时自己还没有深入研究,在网上找到几种解决方案,各有优缺点。   第一种方案: 使用递归算法,也是使用频率最多的,大部分开源程序也是这么处理,不过一般都只用...
  • lovezbs
  • lovezbs
  • 2015年06月14日 18:11
  • 250

21.无限分类表的数据库设计

-- 无限分类的数据表设计 CREATE TABLE tdb_goods_types( type_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCR...
  • enlyhua
  • enlyhua
  • 2016年11月26日 18:26
  • 1897

无限级分类--1(商品分类)

无限级分类多用于商品的分类 其原理就是调用函数体本身,通过传递的参数不同,则查出的数据不同 无限级分类对表的设计有着要求,子类中必须有父类的id,如果是顶级分类id则父级id(parent_id)的值...
  • liuhy_blog
  • liuhy_blog
  • 2016年11月21日 10:18
  • 887

利用多叉树实现Ext JS中的无限级树形菜单(一种构建多级有序树形结构JSON的方法)

利用多叉树实现Ext JS中的无限级树形菜单(一种构建多级有序树形结构JSON的方法)                                                   转载地址:...
  • u010880345
  • u010880345
  • 2015年12月08日 14:02
  • 1812

PHP+MySQL 无限级分类的两种实现方案

PHP+MySQL 无限级分类的两种实现方案
  • u012302539
  • u012302539
  • 2017年01月04日 10:30
  • 913

左右值编码来存储无限分级树形结构的数据库表设计

采用左右值编码来存储无限分级树形结构的数据库表设计 该设计方案的优点是:只用一条查询语句即可得到某个根节点及其所有子孙节点的先序遍历。由于消除了递归,在数据记录量较大时,可以大大提高...
  • u013019820
  • u013019820
  • 2017年10月24日 19:15
  • 167
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:asp.net2.0 利用Dataset,从数据库导出并生成无限级类别的XML文件
举报原因:
原因补充:

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