利用xml輕鬆讀取web.config中的使用者自定義節
雖然vs.net2.0為我們提供了
ConfigurationManager.AppSettings["..."];
ConfigurationManager.ConnectionStrings["..."];
這樣方便快捷的方法來訪問web.config中的AppSettings和ConnectionStrings這二個節的內容
但對於其它節,特別是使用者自定義節的訪問卻並不方便,比如web.config中有這麼一段內容
...
...
我們要訪問system.webServer下的validation節點中的validateIntegratedModeConfiguration或myname的屬性值,就遠遠沒有象ConfigurationManager.AppSettings這樣來得方便,其實web.config是一個標準的xml,我們完全可以按xml的xpath語句來檢索xml中的任何內容,這裡我提供了一個示例,為了方便操作xml,把對xml的一些操作方法封裝到了一個類裡,以下是這個類的主要程式碼
using System;
using System.Xml;
using System.Configuration;
using System.Data;
using System.Collections;
using System.IO;
namespace JIMMY.TOOLS
...{
///
/// Description:XML封裝操作類1.04版
/// Author:jimmy mail:yjmyzz@126.com Date:2006-10-28
///
public class XmlControl
...{
protected string strXmlFile;
protected XmlDocument objXmlDoc = new XmlDocument();
public XmlControl(string XmlFile, Boolean bOverWrite, string sRoot)
...{
try
...{
//如果覆蓋模式,則強行建立一個xml文件
if (bOverWrite)
...{
objXmlDoc.AppendChild(objXmlDoc.CreateXmlDeclaration("1.0", "utf-8", null));//設定xml的版本,格式資訊
objXmlDoc.AppendChild(objXmlDoc.CreateElement("", sRoot, ""));//建立根元素
objXmlDoc.Save(XmlFile);//儲存
}
else //否則,檢查檔案是否存在,不存在則建立
...{
if (!(File.Exists(XmlFile)))
...{
objXmlDoc.AppendChild(objXmlDoc.CreateXmlDeclaration("1.0", "utf-8", null));
objXmlDoc.AppendChild(objXmlDoc.CreateElement("", sRoot, ""));
objXmlDoc.Save(XmlFile);
}
}
objXmlDoc.Load(XmlFile);
}
catch (System.Exception ex)
...{
throw ex;
}
strXmlFile = XmlFile;
}
///
/// 根據xPath值,返回xPath下的所有下級子結節到一個DataView
///
/// xPath值
///
public DataView GetData(string XmlPathNode)
...{
//查詢資料。返回一個DataView
DataSet ds = new DataSet();
try
...{
StringReader read = new StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);
ds.ReadXml(read);
return ds.Tables[0].DefaultView;
}
catch
...{
//throw;
return null;
}
}
//...為了不至於把程式碼弄得太複雜,其它方法這裡略去
}
}
回到正題,以下是訪問system.webServer下的validation節點中的validateIntegratedModeConfiguration或myname的屬性值的程式碼
當然用先using JIMMY.TOOLS 以下是主要程式碼
XmlControl xc = new XmlControl(Server.MapPath("~/web.config"), false, "configuration");
DataView dv = xc.GetData("configuration/system.webServer/validation");
Response.Write(dv[0][0].ToString() + "
");//輸出validateIntegratedModeConfiguration的屬性值
Response.Write(dv[0][1].ToString());//輸出myname的屬性值
甚至還可以將結果繫結到一個GridView上
GridView1.DataSource = dv;
GridView1.DataBind();
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1978/viewspace-2801026/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- App.config自定義節點讀取APP
- 輕鬆利用Python爬蟲爬取你想要的資料Python爬蟲
- EasyExcel 輕鬆靈活讀取Excel內容Excel
- Unity 讀取xmlUnityXML
- springboot讀取自定義配置檔案節點Spring Boot
- Nuxt.js頭部魔法:輕鬆自定義頁面元資訊,提升使用者體驗UXJS
- TextView自定義輕鬆實現下劃線、點選彈框TextView
- 自定義 loader 讀取 *.vue 檔案原始碼Vue原始碼
- Spring 定時器的使用—Xml、Annotation、自定義Spring定時器XML
- Spring 定時器的使用---Xml、Annotation、自定義Spring定時器XML
- 序列化篇 生成xml 以及讀取xmlXML
- 兩大策略助您的移動應用輕鬆獲取百萬使用者
- 輕鬆理解HTTP快取策略HTTP快取
- C#讀取Xml檔案C#XML
- Java系列:讀取XML檔案JavaXML
- activiti7 獲取流程定義的xmlXML
- 利用Xfermode 自定義形狀ViewView
- Avalonia的自定義使用者元件元件
- Laravel 中自定義使用者登入的資料表Laravel
- 如何輕鬆利用GPU加速機器學習?GPU機器學習
- 利用KODI輕鬆開啟NAS分享影片方式
- 揭秘高收入副業:如何利用爬蟲技術輕鬆賺取額外收入!爬蟲
- Flutter利用註解生成可自定義的路由Flutter路由
- 輕鬆搞懂Java中的自旋鎖Java
- 利用大型語言模型輕鬆打造浪漫時刻模型
- Flutter100行輕鬆實現自定義P站和油管的Logo及自由切換Logo功能FlutterGo
- QDomDocument 讀取和編輯xml檔案XML
- Android進階之自定義ViewGroup—帶你一步步輕鬆實現ViewPagerAndroidViewpager
- Android自定義View之圖片外形特效——輕鬆實現圓角和圓形圖片AndroidView特效
- MIT又出新玩法,利用AI可輕鬆分離視訊中的樂器聲音MITAI
- CefSharp自定義快取實現快取
- WebView自定義快取路徑WebView快取
- Java 8 中的方法引用,輕鬆減少程式碼量,提升可讀性!Java
- 利用CAGradientLayer自定義顏色漸變viewView
- 輕鬆掌握useAsyncData獲取非同步資料非同步
- 自定義有多個按鈕節點的SliderViewIDEView
- NAS利用docker輕鬆安裝NanoBlog個人部落格DockerNaN
- 教你利用鐵威馬NAS如何輕鬆分享檔案