利用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
- 輕鬆學習之二——iOS利用Runtime自定義控制器POP手勢動畫iOS動畫
- C#不使用DataSet操作XML,XmlDocument讀寫xml所有節點及讀取xml節點的資料總結C#XML
- EasyExcel 輕鬆靈活讀取Excel內容Excel
- 用C#讀取XML指定節點下的值C#XML
- 輕鬆利用Python爬蟲爬取你想要的資料Python爬蟲
- Nuxt.js頭部魔法:輕鬆自定義頁面元資訊,提升使用者體驗UXJS
- jquery中利用事件屬性which輕鬆獲取鍵盤和滑鼠鍵值jQuery事件
- 在.NET Framework中輕鬆處理XML資料(一) (轉)FrameworkXML
- 在.NET Framework中輕鬆處理XML資料(五) (轉)FrameworkXML
- 簡單讀取XML檔案中的值XML
- TextView自定義輕鬆實現下劃線、點選彈框TextView
- 如何輕鬆利用GPU加速機器學習?GPU機器學習
- 利用Docker輕鬆玩轉CassandraDocker
- 在Web.config或App.config中的新增自定義配置WebAPP
- Unity 讀取xmlUnityXML
- 從xml inflate自定義的ViewXMLView
- XML輕鬆學習手冊(4)XML的術語之二(轉)XML
- XML輕鬆學習手冊(3)XML概念之一(轉)XML
- XML輕鬆學習手冊(6)XML例項解析(轉)XML
- 利用同構JavaScript輕鬆解析URLJavaScript
- springboot讀取自定義配置檔案節點Spring Boot
- XML輕鬆學習手冊(5)XML語法之二(轉)XML
- XML輕鬆學習手冊(5)XML語法之四(轉)XML
- 自定義基於XML的驗證器XML
- 自定義EditText輕鬆實現群聊@提及(@mention) #微博話題#等功能
- WPS演示教程:妙用自定義動畫輕鬆繪製城市輪廓圖動畫
- 輕鬆理解HTTP快取策略HTTP快取
- C#讀取XMLC#XML
- SQL Server中讀取XML檔案的簡單做法SQLServerXML
- 文摘:在EJB中讀取XML配置檔案XML
- 自定義 loader 讀取 *.vue 檔案原始碼Vue原始碼
- 兩大策略助您的移動應用輕鬆獲取百萬使用者
- XML輕鬆學習手冊(2)XML快速入門之二(轉)XML
- XML輕鬆學習手冊(2)XML快速入門之三(轉)XML
- Android 自定義控制元件 輕鬆實現360軟體詳情頁Android控制元件
- 讀取xml檔案 解析雙層xmlXML
- 給自定義View新增xml屬性ViewXML