您的位置:首页 > 其它

根据一个数据表生成无限级的XML格式的菜单

2004-08-25 11:04 525 查看
数据表:
ID Name ParentID
1 文件 0
2 打开 1
3 新建 1
4 打开文件 2
5 打开工程 2
6 编辑 0
7 新建文件 3
8 新建工程 3
9 新建文本文件 7
10 新建程序文件 7
源程序:
using System;
using System.Xml;
using System.Data;
using System.Data.SqlClient;
public class Menu
{
private static SqlConnection conn = new SqlConnection("server=walter;uid=sa;password=sa;database=test");
public static void Main(string [] args)
{
XmlTextWriter xw = new XmlTextWriter("Menu.xml",System.Text.Encoding.GetEncoding("GB2312"));
xw.Formatting = Formatting.Indented;
xw.WriteStartDocument();
xw.WriteStartElement("MenuItems");
conn.Open();
Menu m = new Menu();
m.CreateMenu(xw,0);
xw.WriteEndElement();
xw.WriteEndDocument();
xw.Close();
}
public void CreateMenu(XmlTextWriter xw,int ParentID)
{
SqlDataAdapter cmd = new SqlDataAdapter("select * from Menu where ParentID=" + ParentID.ToString(),conn);
DataSet ds = new DataSet();
cmd.Fill(ds,"t");
foreach(DataRow dr in ds.Tables["t"].Rows)
{
xw.WriteStartElement("MenuItem");
xw.WriteAttributeString("Text",dr[1].ToString());
CreateMenu(xw,Int32.Parse(dr[0].ToString()));
xw.WriteEndElement();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: