怎样从数据库中读取XML文件?并把读到的XML与XSL文件相关联后展现到页面?

解决方案 »

  1.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Xml;public partial class _Default : System.Web.UI.Page
    {
        public static string rtpMgrConnStr = "";
        private const string appConfigFile = "../config/AppConfig.xml";
        protected void Page_Load(object sender, EventArgs e)
        {
            string sql = getSqlFromConfig(Server.MapPath(appConfigFile), xmlSec);
            getRptMgrConString();
            getDs(ds, rtpMgrConnStr, sql, xmlSec);
            combDpt.DataSource = ds;
            combDpt.DataMember = xmlSec;
            combDpt.DataBind();    }    public static string getinner(string fileName, string elementName)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(fileName);
            XmlNode node = xmlDoc.DocumentElement;
            XmlElement nodeSub = (XmlElement)node.SelectSingleNode(elementName);
            return nodeSub.InnerText;
        }    public static string getSqlFromConfig(string appConfigFile, string sectionName)
        {
            string tmpStr;        tmpStr = getinner(appConfigFile, sectionName);
            if (tmpStr.Equals("-1"))
            {
                return "-1";
            }
            else tmpStr = tmpStr.Replace("\r\n", " ");
            return tmpStr;
        }    public static Boolean getRptMgrConString()
        {
            if (rtpMgrConnStr.Equals(""))
            {
                ConnectionStringSettings connStrSetting = ConfigurationManager.ConnectionStrings["SysMgr"];
                if (connStrSetting != null)
                {
                    rtpMgrConnStr = connStrSetting.ConnectionString;
                    rtpMgrConnStr = StringProtector.DecryptString(rtpMgrConnStr);
                    return true;
                }
                else
                    return false;
            }
            return true;
        }    public static void getDs(DataSet ds, string connStr, string selectCommand, string tableName)
        {
            using (SqlConnection con = new SqlConnection(connStr))
            {
                SqlDataAdapter adapter = new SqlDataAdapter();
                SqlCommand sqlCommand = new SqlCommand(selectCommand, con);
                sqlCommand.CommandTimeout = 9999;
                adapter.SelectCommand = sqlCommand;
                adapter.Fill(ds, tableName);
            }
        }
    }