XML读取信息并显示

时间:2021-11-29 00:55:44
这个类命名叫Message.cs

namespace Common
{
public class Message
{
/// <summary>
/// 信息编号
/// </summary>
private string messagecode = string.Empty; public string MessageCode
{
get { return messagecode; }
} /// <summary>
/// 信息描述
/// </summary>
private string messagedata = string.Empty; public string MessageData
{
get { return messagedata; }
} public void Setmessagedata(string value)
{
messagedata = value;
}
public Message(string mc,int x)
{
this.messagedata = mc;
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="mc">信息编号</param>
public Message(string mc)
{
this.messagecode = mc;
using (System.Data.DataSet ds = XMLHelp.ConvertXMLFileToDataSet(System.Configuration.ConfigurationManager.AppSettings["MessagePath"]))
{
if (ds.Tables[0] != null)
{
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["Code"].ToString() == mc)
{
this.messagedata = ds.Tables[0].Rows[i]["Content"].ToString();
break;
}
}
}
}
}
}
}

下面这个类命名叫:XMLHelp.cs

都放在DAL文件里面,自己修改命名空间

using System;
using System.Text;
using System.Xml;
using System.Data;
using System.IO;
using System.Web; namespace Common
{
public class XMLHelp
{/// <summary>
/// 将xml文件转换为DataSet
/// </summary>
/// <param name="xmlFile">XML文件路径</param>
/// <returns>DataSet</returns>
public static DataSet ConvertXMLFileToDataSet(string xmlFile)
{
StringReader sReader = null;
XmlTextReader reader = null;
try
{
XmlDocument xDoc = new XmlDocument();
try
{
xDoc.Load(xmlFile);
}
catch (DirectoryNotFoundException)
{
xmlFile = Path.Combine(HttpContext.Current.Server.MapPath("~"), xmlFile);
xDoc.Load(xmlFile);
}
DataSet dResult = new DataSet();
sReader = new StringReader(xDoc.InnerXml);
reader = new XmlTextReader(sReader);
dResult.ReadXml(reader);
return dResult;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (reader != null) reader.Close();
}
} /// <summary>
/// 将DataSet转换为xml文件
/// </summary>
/// <param name="ds"></param>
/// <param name="xmlFile"></param>
public static void ConvertDataSetToXMLFile(DataSet ds, string xmlFile)
{
MemoryStream stream = null;
XmlTextWriter writer = null; try
{
stream = new MemoryStream();
//从stream装载到XmlTextReader
writer = new XmlTextWriter(stream, Encoding.Unicode); //用WriteXml方法写入文件.
ds.WriteXml(writer);
int count = (int)stream.Length;
byte[] arr = new byte[count];
stream.Seek(0, SeekOrigin.Begin);
stream.Read(arr, 0, count); //返回Unicode编码的文本
UnicodeEncoding utf = new UnicodeEncoding();
StreamWriter sw = new StreamWriter(xmlFile);
sw.WriteLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
sw.WriteLine(utf.GetString(arr).Trim());
sw.Close();
}
catch (System.Exception ex)
{
throw ex;
}
finally
{
if (writer != null) writer.Close();
}
}
}
}

如:后台弹窗:

string ID = Request["ID"];
                    if (!Function.CheckStr(ID, 1))
                    {
                        Function.ShowMsgBox(new Message("M0008").MessageData, "baoming.aspx", false);  //掉出方法,然后给定参数,直接执行就OK
                    }

在项目根目录有个XML文件夹,里面有个Message.xml文件,内容如下:

XML读取信息并显示

这个XML文件里的Code自己定义,content就是你要读取的内容,需要的时候匹配好Code字段就好了。就是这么简单