这个时候你要建一个和类对应的的xml文件
<?xml version="1.0"?>
<BaseConfigInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Dbconnectstring>Data Source=(local);User ID=sa;Password=1;Initial Catalog=YIDANLUNTAN;Pooling=true</Dbconnectstring>
<Tableprefix>dnt_</Tableprefix>
<Forumpath>/</Forumpath>
<Dbtype>SqlServer</Dbtype>
<Founderuid>1</Founderuid>
</BaseConfigInfo>
剩下的就是调用了随便建一个aspx文件
using Discuz.Config;
using Discuz.Common;
using System.IO;
using System;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string filename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DNT.config");
BaseConfigInfo newBaseConfig = (BaseConfigInfo)SerializationHelper.Load(typeof(BaseConfigInfo), filename);
}
}
这个个时候你就可以把xml文件里面的东西读到对象里面了
首先你要建一个类:
using System;
using System.Text;
namespace Discuz.Config
{
/// <summary>
/// Discuz!NT 配置信息类接口
/// </summary>
public interface IConfigInfo
{
}
// <summary>
/// 基本设置描述类, 加[Serializable]标记为可序列化
/// </summary>
[Serializable]
public class BaseConfigInfo : IConfigInfo
{
#region 私有字段
private string m_dbconnectstring = "Data Source=;User ID=dntuser;Password=;Initial Catalog=;Pooling=true"; // 数据库连接串-格式(中文为用户修改的内容):Data Source=数据库服务器地址;User ID=您的数据库用户名;Password=您的数据库用户密码;Initial Catalog=数据库名称;Pooling=true
private string m_tableprefix = "dnt_"; // 数据库中表的前缀
private string m_forumpath = "/"; // 论坛在站点内的路径
private string m_dbtype = "";
private int m_founderuid = 0; // 创始人
#endregion
#region 属性
/// <summary>
/// 数据库连接串
/// 格式(中文为用户修改的内容):
/// Data Source=数据库服务器地址;
/// User ID=您的数据库用户名;
/// Password=您的数据库用户密码;
/// Initial Catalog=数据库名称;Pooling=true
/// </summary>
public string Dbconnectstring
{
get { return m_dbconnectstring; }
set { m_dbconnectstring = value; }
}
/// <summary>
/// 数据库中表的前缀
/// </summary>
public string Tableprefix
{
get { return m_tableprefix; }
set { m_tableprefix = value; }
}
/// <summary>
/// 论坛在站点内的路径
/// </summary>
public string Forumpath
{
get { return m_forumpath; }
set { m_forumpath = value; }
}
/// <summary>
/// 数据库类型
/// </summary>
public string Dbtype
{
get { return m_dbtype; }
set { m_dbtype = value; }
}
/// <summary>
/// 创始人ID
/// </summary>
public int Founderuid
{
get { return m_founderuid; }
set { m_founderuid = value; }
}
#endregion
}
}
然后就是处理序列化和反序列化的函数,这里也有一个类处理
using System;
using System.IO;
using System.Xml.Serialization;
namespace Discuz.Common
{
/// <summary>
/// SerializationHelper 的摘要说明。
/// </summary>
public class SerializationHelper
{
private SerializationHelper()
{
}
/// <summary>
/// 反序列化
/// </summary>
/// <param name="type">对象类型</param>
/// <param name="filename">文件路径</param>
/// <returns></returns>
public static object Load(Type type, string filename)
{
FileStream fs = null;
try
{
// open the stream...
fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
XmlSerializer serializer = new XmlSerializer(type);
return serializer.Deserialize(fs);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (fs != null)
fs.Close();
}
}
/// <summary>
/// 序列化
/// </summary>
/// <param name="obj">对象</param>
/// <param name="filename">文件路径</param>
public static void Save(object obj, string filename)
{
FileStream fs = null;
// serialize it...
try
{
fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
XmlSerializer serializer = new XmlSerializer(obj.GetType());
serializer.Serialize(fs, obj);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (fs != null)
fs.Close();
}
}
}
}
<?xml version="1.0"?>
<BaseConfigInfo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Dbconnectstring>Data Source=(local);User ID=sa;Password=1;Initial Catalog=YIDANLUNTAN;Pooling=true</Dbconnectstring>
<Tableprefix>dnt_</Tableprefix>
<Forumpath>/</Forumpath>
<Dbtype>SqlServer</Dbtype>
<Founderuid>1</Founderuid>
</BaseConfigInfo>
剩下的就是调用了随便建一个aspx文件
using Discuz.Config;
using Discuz.Common;
using System.IO;
using System;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string filename = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "DNT.config");
BaseConfigInfo newBaseConfig = (BaseConfigInfo)SerializationHelper.Load(typeof(BaseConfigInfo), filename);
}
}
这个个时候你就可以把xml文件里面的东西读到对象里面了
首先你要建一个类:
using System;
using System.Text;
namespace Discuz.Config
{
/// <summary>
/// Discuz!NT 配置信息类接口
/// </summary>
public interface IConfigInfo
{
}
// <summary>
/// 基本设置描述类, 加[Serializable]标记为可序列化
/// </summary>
[Serializable]
public class BaseConfigInfo : IConfigInfo
{
#region 私有字段
private string m_dbconnectstring = "Data Source=;User ID=dntuser;Password=;Initial Catalog=;Pooling=true"; // 数据库连接串-格式(中文为用户修改的内容):Data Source=数据库服务器地址;User ID=您的数据库用户名;Password=您的数据库用户密码;Initial Catalog=数据库名称;Pooling=true
private string m_tableprefix = "dnt_"; // 数据库中表的前缀
private string m_forumpath = "/"; // 论坛在站点内的路径
private string m_dbtype = "";
private int m_founderuid = 0; // 创始人
#endregion
#region 属性
/// <summary>
/// 数据库连接串
/// 格式(中文为用户修改的内容):
/// Data Source=数据库服务器地址;
/// User ID=您的数据库用户名;
/// Password=您的数据库用户密码;
/// Initial Catalog=数据库名称;Pooling=true
/// </summary>
public string Dbconnectstring
{
get { return m_dbconnectstring; }
set { m_dbconnectstring = value; }
}
/// <summary>
/// 数据库中表的前缀
/// </summary>
public string Tableprefix
{
get { return m_tableprefix; }
set { m_tableprefix = value; }
}
/// <summary>
/// 论坛在站点内的路径
/// </summary>
public string Forumpath
{
get { return m_forumpath; }
set { m_forumpath = value; }
}
/// <summary>
/// 数据库类型
/// </summary>
public string Dbtype
{
get { return m_dbtype; }
set { m_dbtype = value; }
}
/// <summary>
/// 创始人ID
/// </summary>
public int Founderuid
{
get { return m_founderuid; }
set { m_founderuid = value; }
}
#endregion
}
}
然后就是处理序列化和反序列化的函数,这里也有一个类处理
using System;
using System.IO;
using System.Xml.Serialization;
namespace Discuz.Common
{
/// <summary>
/// SerializationHelper 的摘要说明。
/// </summary>
public class SerializationHelper
{
private SerializationHelper()
{
}
/// <summary>
/// 反序列化
/// </summary>
/// <param name="type">对象类型</param>
/// <param name="filename">文件路径</param>
/// <returns></returns>
public static object Load(Type type, string filename)
{
FileStream fs = null;
try
{
// open the stream...
fs = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
XmlSerializer serializer = new XmlSerializer(type);
return serializer.Deserialize(fs);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (fs != null)
fs.Close();
}
}
/// <summary>
/// 序列化
/// </summary>
/// <param name="obj">对象</param>
/// <param name="filename">文件路径</param>
public static void Save(object obj, string filename)
{
FileStream fs = null;
// serialize it...
try
{
fs = new FileStream(filename, FileMode.Create, FileAccess.Write, FileShare.ReadWrite);
XmlSerializer serializer = new XmlSerializer(obj.GetType());
serializer.Serialize(fs, obj);
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (fs != null)
fs.Close();
}
}
}
}