⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlcontrol.cs

📁 c#数据库访问自动生成代码程序
💻 CS
字号:
using System;
using System.Xml;
using System.Windows.Forms;
using System.Collections;
using System.Data;
namespace MVC.Common
{
	/// <summary>
	/// 模块编号:
	/// 作用:      读写XML文件类	
	/// 编写日期:  2006-09-25
	/// 版本号:
	/// 公司:      铁科院电子所
	/// 创建标识:
	/// </summary>
	public class XmlControl
	{
		#region 变量
		/// <summary>
		/// 文件路径
		/// </summary>
		private string strXmlfile;   
		/// <summary>
		/// xml文件中最顶层的节点
		/// </summary>
		private string strMainNode;     

		private XmlDocument objXmlDoc = new XmlDocument();    
		//异常日志文件名
		private string FileName = "logfile.txt";
		#endregion
        
		#region 构造函数
		/// <summary>
		///  初始化XML文件
		/// </summary>
		/// <param name="XmlFile">文件路径</param>
		/// <param name="MainNode">顶层节点</param>
		public XmlControl(string XmlFile,string MainNode)
		{
			try
			{
				objXmlDoc.Load(XmlFile);				
				
			}
			catch (System.Exception ex)
			{
				

			}
			strXmlfile = XmlFile;
			strMainNode=MainNode;
			
		}
		#endregion
        
		#region 公有方法
		/// <summary>
		/// 由XML文件中节点得到相应值
		/// </summary>
		/// <param name="NodeName">节点</param>
		/// <returns>对应节点的值</returns>
		public string GetAttribute(string NodeName)
		{
			string sAttr = "";
			try
			{
				//得到根节点下的第一个树				
				XmlNode xFirstNode = objXmlDoc.SelectSingleNode(strMainNode).FirstChild;
				//树下的所有节点
				XmlNodeList xNodeList = xFirstNode.ChildNodes;
				//遍历所有的节点				
				foreach(XmlNode xNode in xNodeList)//遍历
				{
					XmlElement xElement = (XmlElement)xNode;//转换类型				

					if(xElement.Name == NodeName)
					{
						sAttr = xElement.InnerText;
						break;
					}
				}
				
			}
			catch(Exception ex)
			{
				
			}
			return sAttr;
		}

		/// <summary>
		/// 修改节点值
		/// </summary>
		/// <param name="NodeName">节点名</param>
		/// <param name="NewAttribute">节点值</param>
		/// <returns>是否成功修改</returns>
		public bool UpdateAttribute(string NodeName,string NewAttribute)
		{			
			bool bUpdate = false;  //是否更新成功
			try
			{
				//得到根节点下的第一个树
				XmlNode xFirstNode = objXmlDoc.SelectSingleNode(strMainNode).FirstChild;
				//树下的所有节点
				XmlNodeList xNodeList = xFirstNode.ChildNodes;
				//遍历所有的节点
				foreach(XmlNode xNode in xNodeList)//遍历
				{
					XmlElement xElement = (XmlElement)xNode;//转换类型
					if(xElement.Name == NodeName)
					{
						xElement.InnerText = NewAttribute;
						bUpdate = true;
						objXmlDoc.Save(strXmlfile);
						break;
					}
				}

			}
			catch(Exception ex)
			{				
				
				
			}
			return bUpdate;
		}
		#endregion



        /// <summary>
        /// 读入DataGridView的显示信息
        /// </summary>
        /// <param name="p_TableName">Table名称</param>
        /// <returns>返回结构数组</returns>
        static public ArrayList LoadDataGridViewInfo(string p_TableName)
        {
            try
            {
                DataSet ds = LoadXMLFile("./TableDesc.xml");

                //读入Coloum
                DataTable dtTable = ds.Tables[0];
                DataTable dtColoums = ds.Tables[1];
                DataTable dtColoum = ds.Tables[2];

                TableStruct ts = new TableStruct();
                ArrayList al = new ArrayList(0);

                foreach (DataRow dr1 in dtTable.Rows)
                {
                    string table_id = dr1["table_id"].ToString();
                    string tableName = dr1["name"].ToString();

                    if (tableName == p_TableName)
                    {
                        foreach (DataRow dr2 in dtColoums.Rows)
                        {
                            string cols_table_id = dr2["table_id"].ToString();
                            string columns_id = dr2["Columns_Id"].ToString();

                            if (cols_table_id == table_id)
                            {
                                foreach (DataRow dr3 in dtColoum.Rows)
                                {
                                    string col_Columns_id = dr3["Columns_Id"].ToString();
                                    if (col_Columns_id == cols_table_id)
                                    {
                                        ts.Index = int.Parse(dr3["Index"].ToString());
                                        ts.DataPropertyName = dr3["DataPropertyName"].ToString();
                                        ts.HeaderText = dr3["HeaderText"].ToString();
                                        ts.Width = int.Parse(dr3["Width"].ToString());
                                        al.Add(ts);
                                    }
                                }
                            }
                        }
                    }
                }

                return al;
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }

        /// <summary>
        /// 读入XML文件返回数据集
        /// </summary>
        /// <param name="fileName">文件名称</param>
        /// <returns>返回数据集</returns>
        static public DataSet LoadXMLFile(string fileName)
        {
            DataSet ds = new DataSet();
            try
            {
                XmlTextReader m_xmlReader = new XmlTextReader(fileName);
                ds.ReadXml(m_xmlReader);
                m_xmlReader.Close();
                return ds;
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -