?? mysqlxmltree.aspx.cs
字號:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Xml;
using System.Configuration;
namespace Example_11_12
{
/// <summary>
/// Summary description for MySQLXMLTree.
/// </summary>
public class MySQLXMLTree : System.Web.UI.Page
{
public static string SQLCONNECTIONSTRING = ConfigurationSettings.AppSettings["SQLCONNECTIONSTRING"].ToString();
DataSet ds = new DataSet();
XmlDocument xmlDoc = new XmlDocument();
private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
CreateTree();
}
}
private void CreateTree()
{
// XmlDocument xmlDoc = new XmlDocument();
ds = GetTrees();
//生成根節(jié)點
XmlElement treeContentElement = xmlDoc.CreateElement("NewDataSet");
xmlDoc.AppendChild(treeContentElement);
//遞歸生成頻道的XML文檔
for(int j=0;j<ds.Tables["Tree"].Rows.Count;j++)
{
if(Int32.Parse(ds.Tables["Tree"].Rows[j].ItemArray[2].ToString()) == 0)
{
BulidXmlTree(treeContentElement,j);
}
else
{
continue;
}
}
string fileName = Server.MapPath("XMLFiles/Tree.xml");
xmlDoc.Save(fileName);
}
private void BulidXmlTree(XmlElement tempXmlElement,int location)
{
DataRow tempRow = ds.Tables["Tree"].Rows[location];
//生成Tree節(jié)點
XmlElement treeElement = xmlDoc.CreateElement("Tree");
tempXmlElement.AppendChild(treeElement);
AppendChildElement("TreeID",tempRow.ItemArray[0].ToString(),treeElement);
AppendChildElement("TreeDesn",tempRow.ItemArray[1].ToString(),treeElement);
AppendChildElement("ParentID",tempRow.ItemArray[2].ToString(),treeElement);
AppendChildElement("TreeUrl",tempRow.ItemArray[3].ToString(),treeElement);
for(int i=0 ; i < ds.Tables["Tree"].Rows.Count;i++)
{
if(ds.Tables["Tree"].Rows[i].ItemArray[2].ToString() == tempRow.ItemArray[0].ToString())
{
BulidXmlTree(treeElement,i);
}
}
}
private void AppendChildElement(string strName , string strInnerText , XmlElement parentElement, XmlDocument xmlDocument )
{
XmlElement xmlElement = xmlDocument.CreateElement(strName);
xmlElement.InnerText = strInnerText ;
parentElement.AppendChild(xmlElement);
}
private void AppendChildElement(string strName , string strInnerText , XmlElement parentElement)
{
AppendChildElement(strName,strInnerText,parentElement,xmlDoc);
}
private DataSet GetTrees()
{
DataSet dataSet = new DataSet();
///從數(shù)據(jù)庫中獲取數(shù)據(jù)
SqlConnection myConnection = new SqlConnection(SQLCONNECTIONSTRING);
//創(chuàng)建Adapter對象
SqlDataAdapter da = new SqlDataAdapter("Pr_GetTree",myConnection);
///設置執(zhí)行的方式為存儲過程
da.SelectCommand.CommandType = CommandType.StoredProcedure;
try
{
///執(zhí)行數(shù)據(jù)庫查詢
myConnection.Open();
da.Fill(dataSet,"Tree");
da.Dispose();
}
catch
{
dataSet = null;
}
finally
{
da.Dispose();
myConnection.Close();
}
return(dataSet);
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -