📄 xmlcontrol.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 + -