自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#讀取XML文檔實例淺析

開發(fā) 后端
C#讀取XML文檔的方法是什么呢?又如何進行實例實現(xiàn)呢?那么本文就向你介紹了C#讀取XML文檔的方法。

下面是一個C#讀取XML文檔的比較通用的方法,可以很方便地讀取XML文檔格式.XML文檔如下:

  1. ﹤?xml version="1.0" encoding="utf-8" ?﹥  
  2. ﹤RolesRoot ID="0"  RoleName="應(yīng)用權(quán)限配置" 
  3. RoleValue="" RoleUrl="" RoleMark=""﹥  
  4.   ﹤Roles ID="CLGL" RoleName="車輛管理" 
  5. RoleValue="" RoleUrl="" RoleMark=""﹥  
  6.     ﹤Role ID="CLGL_CLXX" RoleName="車輛基本信息"
  7.  RoleValue="" RoleUrl="車輛管理/車輛基本信息" RoleMark=""﹥  
  8.       ﹤RoleChild ID="" RoleName="編輯" RoleValue=""
  9.  RoleUrl="" RoleMark="clbjqx"﹥﹤/RoleChild﹥  
  10.       ﹤RoleChild ID="" RoleName="修改" RoleValue=""
  11.  RoleUrl="" RoleMark="clxgqx"﹥﹤/RoleChild﹥  
  12.       ﹤RoleChild ID="" RoleName="刪除" RoleValue=""
  13.  RoleUrl="" RoleMark="clscqx"﹥﹤/RoleChild﹥  
  14.     ﹤/Role﹥  
  15.     ﹤Role ID="CLGL_SJXX" RoleName="司機基本信息"
  16.  RoleValue="" RoleUrl="車輛管理/司機基本信息" RoleMark=""﹥  
  17.       ﹤RoleChild ID="" RoleName="編輯" RoleValue="" 
  18. RoleUrl="" RoleMark="sjbjqx"﹥﹤/RoleChild﹥  
  19.       ﹤RoleChild ID="" RoleName="修改" RoleValue="" 
  20. RoleUrl="" RoleMark="sjxgqx"﹥﹤/RoleChild﹥  
  21.       ﹤RoleChild ID="" RoleName="刪除" RoleValue="" 
  22. RoleUrl="" RoleMark="sjscqx"﹥﹤/RoleChild﹥  
  23.     ﹤/Role﹥  
  24.   ﹤/Roles﹥  
  25.   ﹤Roles ID="HYGL" RoleName="" RoleValue="" 
  26. RoleUrl="" RoleMark=""﹥  
  27.     ﹤Role ID="" RoleName="" RoleValue="" 
  28. RoleUrl="" RoleMark=""﹥﹤/Role﹥  
  29.     ﹤Role ID="" RoleName="" RoleValue=""
  30.  RoleUrl="" RoleMark=""﹥﹤/Role﹥  
  31.     ﹤Role ID="" RoleName="" RoleValue="" 
  32. RoleUrl="" RoleMark=""﹥﹤/Role﹥  
  33.   ﹤/Roles﹥  
  34. ﹤/RolesRoot﹥ 

C#讀取XML文檔的代碼如下所示:

  1. /// ﹤summary﹥  
  2.  /// 獲取XML文檔中元素的值  
  3.  /// ﹤/summary﹥  
  4.  /// ﹤param name="parentNodePath"﹥父級節(jié)點位置,如RolesRoot/Roles﹤/param﹥  
  5.  /// ﹤param name="childNodeName"﹥子節(jié)點名稱,如要在Role節(jié)點下找相關(guān)元素值﹤/param﹥  
  6.  /// ﹤param name="matchElementName"﹥要進行匹配的元素名稱,如通過ID元素值來找匹配﹤/param﹥  
  7.  /// ﹤param name="id"﹥ID元素值﹤/param﹥  
  8.  /// ﹤param name="elementName"﹥需要獲取的元素名稱﹤/param﹥  
  9.  /// ﹤returns﹥﹤/returns﹥  
  10.  public static string GetXmlElementValue(string parentNodePath, 
  11. string childNodeName,string matchElementName, 
  12. string id, string elementName)  
  13.  {  
  14.      string outPut = string.Empty;  
  15.      try 
  16.      {  
  17.          string xmlpath = ConfigurationManager.
  18. AppSettings["RolesConfig"];  
  19.          XmlDocument doc = new XmlDocument();  
  20.          doc.Load(xmlpath);  
  21.  
  22.          XmlNodeList nodes = doc.SelectSingleNode
  23. (parentNodePath).ChildNodes;  
  24.          foreach (XmlElement node in nodes)  
  25.          {  
  26.              if (node.Name == childNodeName)  
  27.              {  
  28.                  if (node.Attributes[matchElementName].Value == id)  
  29.                  {  
  30.                      outPut = node.Attributes[elementName].Value;  
  31.                  }  
  32.              }  
  33.          }  
  34.      }  
  35.      catch (Exception ex)  
  36.      {  
  37.          Response.Write(ex.Message);  
  38.      }  
  39.      return outPut;  
  40.  } 

上面介紹了一般格式C#讀取XML文檔的方法,下面介紹讀取特殊XML文件屬性的方法,該XML文檔定義了ID屬性,如下:

  1. ﹤?xml version="1.0" encoding="utf-8" ?﹥  
  2. ﹤!DOCTYPE RolesRoot [  
  3.   ﹤!ELEMENT Role ANY﹥  
  4.   ﹤!ELEMENT RoleName ANY﹥  
  5.   ﹤!ELEMENT RoleValue ANY﹥  
  6.   ﹤!ELEMENT RoleUrl ANY﹥  
  7.   ﹤!ELEMENT RoleMark ANY﹥  
  8.   ﹤!ATTLIST Role RoleID ID #REQUIRED﹥  
  9.   ﹤!ATTLIST RolesRoot RoleID IDREF #REQUIRED﹥  
  10. ]﹥  
  11.  
  12. ﹤RolesRoot RoleID="0"  RoleName="應(yīng)用權(quán)限配置" 
  13. RoleValue="" RoleUrl="" RoleMark=""﹥  
  14.   ﹤Role RoleID="CLGL" RoleName="車輛管理" RoleValue="" 
  15. RoleUrl="" RoleMark=""﹥  
  16.     ﹤Role RoleID="CLGL_CLXX" RoleName="車輛基本信息" 
  17. RoleValue="" RoleUrl="車輛管理/車輛基本信息" RoleMark=""﹥  
  18.       ﹤Role RoleID="CLGL_CLXX_BJ" RoleName="編輯" 
  19. RoleValue="" RoleUrl="" RoleMark="clbjqx"﹥﹤/Role﹥  
  20.       ﹤Role RoleID="CLGL_CLXX_XG" RoleName="修改" 
  21. RoleValue="" RoleUrl="" RoleMark="clxgqx"﹥﹤/Role﹥  
  22.       ﹤Role RoleID="CLGL_CLXX_SC" RoleName="刪除" 
  23. RoleValue="" RoleUrl="" RoleMark="clscqx"﹥﹤/Role﹥  
  24.     ﹤/Role﹥  
  25.     ﹤Role RoleID="CLGL_SJXX" RoleName="司機基本信息" 
  26. RoleValue="" RoleUrl="車輛管理/司機基本信息" RoleMark=""﹥  
  27.       ﹤Role RoleID="" RoleName="編輯" RoleValue="" 
  28. RoleUrl="" RoleMark="sjbjqx"﹥﹤/Role﹥  
  29.       ﹤Role RoleID="" RoleName="修改" RoleValue="" 
  30. RoleUrl="" RoleMark="sjxgqx"﹥﹤/Role﹥  
  31.       ﹤Role RoleID="" RoleName="刪除" RoleValue="" 
  32. RoleUrl="" RoleMark="sjscqx"﹥﹤/Role﹥  
  33.     ﹤/Role﹥  
  34.   ﹤/Role﹥  
  35. ﹤/RolesRoot﹥ 

我們通過ID屬性進行C#讀取XML文檔,獲取元素的值.

  1. /// ﹤summary﹥  
  2. /// 通過ID獲取元素值  
  3. /// ﹤/summary﹥  
  4. /// ﹤param name="id"﹥XML文檔中定義的***ID屬性﹤/param﹥  
  5. /// ﹤param name="elementName"﹥對應(yīng)ID元素下要查找的元素名稱﹤/param﹥  
  6. /// ﹤returns﹥﹤/returns﹥  
  7. public static string GetXmlElementValueById(string id, string elementName)  
  8. {  
  9.     string outPut = string.Empty;  
  10.     try 
  11.     {  
  12.         string xmlpath = ConfigurationManager.AppSettings["RolesConfig"];  
  13.         XmlDocument doc = new XmlDocument();  
  14.         doc.Load(xmlpath);  
  15.  
  16.         XmlElement elem = doc.GetElementById(id);  
  17.         outPut = elem.Attributes[elementName].Value;  
  18.     }  
  19.     catch (Exception ex)  
  20.     {  
  21.         Response.Write(ex.Message);  
  22.     }  
  23.     return outPut;  

C#讀取XML文檔的相關(guān)內(nèi)容就向你介紹到這里,希望對你學(xué)習(xí)或了解C#讀取XML文檔有所幫助。

【編輯推薦】

  1. C#算法一道面試題的程序?qū)崿F(xiàn)
  2. C#運算符種類簡析
  3. C#位運算符種類及使用淺析
  4. C#運算符重載“>”的操作淺析
  5. C#賦值運算符之復(fù)合賦值運算符
責(zé)任編輯:仲衡 來源: 百度空間
相關(guān)推薦

2009-08-28 17:34:14

讀取word文檔

2009-08-12 16:26:30

C#讀取XML文檔

2009-08-12 16:46:22

C#讀取XML文檔

2009-09-09 13:57:28

C# XML解析

2009-08-18 16:42:49

C# 操作XML

2009-09-01 13:13:28

C#打開Word文檔

2009-09-09 15:54:48

C# XML序列化

2009-08-18 16:49:05

C# 操作XML

2009-08-27 13:30:11

C# interfac

2009-08-19 16:42:41

C#如何使用XML

2009-08-12 16:38:35

C#讀取XML節(jié)點

2009-08-17 17:49:20

C# 枚舉

2009-08-18 13:49:21

C# 操作Excel

2009-08-27 17:59:56

C#接口定義

2009-08-18 16:30:41

C# 操作XML

2009-09-04 14:14:55

C#文檔

2009-08-18 17:08:50

C#編寫XML文檔

2009-08-24 17:24:28

C#創(chuàng)建XML文檔

2009-08-18 16:04:12

C# 操作Excel

2009-08-19 09:42:52

C#操作Word書簽
點贊
收藏

51CTO技術(shù)棧公眾號