数据表结构如下:
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);
}
}
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);
}
}