本文将通过简单的实例讲解通过C#来读取配置文件中xml数据,目前只是简单实现读取二级节点的值,大家有兴趣可以通过类似的原理进行功能扩充,本文只限于入门级参考。
文件hdhcms.config文件内容如下:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<CmsName>HDHCMS</CmsName>
<SiteName>好得很CMS</SiteName>
<CreateTime>1527039563</CreateTime>
<CmsUrl>http://www.hdhcms.com</CmsUrl>
</configuration>
读取XML变量值函数方法:
/// <summary>
/// 取自定义CONFIG中的配置值,限读二级节点的值
///此方法存在于“HdhCmsFun.Cs”类文件中
/// </summary>
/// <param name="ConfigName">配置文件名,包括网站相对目录</param>
/// <param name="RootNode">根节点名称</param>
/// <param name="FindNode">找寻节点值</param>
/// <returns></returns>
public static string GetXmlSelfVar(string ConfigName, string RootNode, string FindNode)
{
string strBack = "";
XmlTextReader HdhRd = new XmlTextReader(HttpContext.Current.Server.MapPath(ConfigName));
XmlDocument HdhXml = new XmlDocument();
HdhXml.Load(HdhRd);//
HdhRd.Close();//关闭HdhRd,不然config文件就变成只读的了
string MyXml = HdhXml.InnerXml;
if (MyXml.IndexOf(FindNode) > 10)
{
XmlDocument XmObj = new XmlDocument();
XmObj.LoadXml(MyXml);
XmlNodeList HdhNodeList = XmObj.GetElementsByTagName(RootNode);
XmlNode FirstXml = HdhNodeList[0];
strBack = FirstXml.SelectSingleNode(FindNode).InnerText;
}
return strBack;
}
调用方法取值:
string SiteName= HdhCmsFun.GetXmlSelfVar("/Self.config", "configuration", "SiteName");