您好,登錄后才能下訂單哦!
本篇內容主要講解“C#讀取XML文檔的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#讀取XML文檔的方法”吧!
下面是一個C#讀取XML文檔的比較通用的方法,可以很方便地讀取XML文檔格式.XML文檔如下:
﹤?xml version="1.0" encoding="utf-8" ?﹥ ﹤RolesRoot ID="0" RoleName="應用權限配置" RoleValue="" RoleUrl="" RoleMark=""﹥ ﹤Roles ID="CLGL" RoleName="車輛管理" RoleValue="" RoleUrl="" RoleMark=""﹥ ﹤Role ID="CLGL_CLXX" RoleName="車輛基本信息" RoleValue="" RoleUrl="車輛管理/車輛基本信息" RoleMark=""﹥ ﹤RoleChild ID="" RoleName="編輯" RoleValue="" RoleUrl="" RoleMark="clbjqx"﹥﹤/RoleChild﹥ ﹤RoleChild ID="" RoleName="修改" RoleValue="" RoleUrl="" RoleMark="clxgqx"﹥﹤/RoleChild﹥ ﹤RoleChild ID="" RoleName="刪除" RoleValue="" RoleUrl="" RoleMark="clscqx"﹥﹤/RoleChild﹥ ﹤/Role﹥ ﹤Role ID="CLGL_SJXX" RoleName="司機基本信息" RoleValue="" RoleUrl="車輛管理/司機基本信息" RoleMark=""﹥ ﹤RoleChild ID="" RoleName="編輯" RoleValue="" RoleUrl="" RoleMark="sjbjqx"﹥﹤/RoleChild﹥ ﹤RoleChild ID="" RoleName="修改" RoleValue="" RoleUrl="" RoleMark="sjxgqx"﹥﹤/RoleChild﹥ ﹤RoleChild ID="" RoleName="刪除" RoleValue="" RoleUrl="" RoleMark="sjscqx"﹥﹤/RoleChild﹥ ﹤/Role﹥ ﹤/Roles﹥ ﹤Roles ID="HYGL" RoleName="" RoleValue="" RoleUrl="" RoleMark=""﹥ ﹤Role ID="" RoleName="" RoleValue="" RoleUrl="" RoleMark=""﹥﹤/Role﹥ ﹤Role ID="" RoleName="" RoleValue="" RoleUrl="" RoleMark=""﹥﹤/Role﹥ ﹤Role ID="" RoleName="" RoleValue="" RoleUrl="" RoleMark=""﹥﹤/Role﹥ ﹤/Roles﹥ ﹤/RolesRoot﹥
C#讀取XML文檔的代碼如下所示:
/// ﹤summary﹥ /// 獲取XML文檔中元素的值 /// ﹤/summary﹥ /// ﹤param name="parentNodePath"﹥父級節點位置,如RolesRoot/Roles﹤/param﹥ /// ﹤param name="childNodeName"﹥子節點名稱,如要在Role節點下找相關元素值﹤/param﹥ /// ﹤param name="matchElementName"﹥要進行匹配的元素名稱,如通過ID元素值來找匹配﹤/param﹥ /// ﹤param name="id"﹥ID元素值﹤/param﹥ /// ﹤param name="elementName"﹥需要獲取的元素名稱﹤/param﹥ /// ﹤returns﹥﹤/returns﹥ public static string GetXmlElementValue(string parentNodePath, string childNodeName,string matchElementName, string id, string elementName) { string outPut = string.Empty; try { string xmlpath = ConfigurationManager.AppSettings["RolesConfig"]; XmlDocument doc = new XmlDocument(); doc.Load(xmlpath); XmlNodeList nodes = doc.SelectSingleNode(parentNodePath).ChildNodes; foreach (XmlElement node in nodes) { if (node.Name == childNodeName) { if (node.Attributes[matchElementName].Value == id) { outPut = node.Attributes[elementName].Value; } } } } catch (Exception ex) { Response.Write(ex.Message); } return outPut; }
上面介紹了一般格式C#讀取XML文檔的方法,下面介紹讀取特殊XML文件屬性的方法,該XML文檔定義了ID屬性,如下:
﹤?xml version="1.0" encoding="utf-8" ?﹥ ﹤!DOCTYPE RolesRoot [ ﹤!ELEMENT Role ANY﹥ ﹤!ELEMENT RoleName ANY﹥ ﹤!ELEMENT RoleValue ANY﹥ ﹤!ELEMENT RoleUrl ANY﹥ ﹤!ELEMENT RoleMark ANY﹥ ﹤!ATTLIST Role RoleID ID #REQUIRED﹥ ﹤!ATTLIST RolesRoot RoleID IDREF #REQUIRED﹥ ]﹥ ﹤RolesRoot RoleID="0" RoleName="應用權限配置" RoleValue="" RoleUrl="" RoleMark=""﹥ ﹤Role RoleID="CLGL" RoleName="車輛管理" RoleValue="" RoleUrl="" RoleMark=""﹥ ﹤Role RoleID="CLGL_CLXX" RoleName="車輛基本信息" RoleValue="" RoleUrl="車輛管理/車輛基本信息" RoleMark=""﹥ ﹤Role RoleID="CLGL_CLXX_BJ" RoleName="編輯" RoleValue="" RoleUrl="" RoleMark="clbjqx"﹥﹤/Role﹥ ﹤Role RoleID="CLGL_CLXX_XG" RoleName="修改" RoleValue="" RoleUrl="" RoleMark="clxgqx"﹥﹤/Role﹥ ﹤Role RoleID="CLGL_CLXX_SC" RoleName="刪除" RoleValue="" RoleUrl="" RoleMark="clscqx"﹥﹤/Role﹥ ﹤/Role﹥ ﹤Role RoleID="CLGL_SJXX" RoleName="司機基本信息" RoleValue="" RoleUrl="車輛管理/司機基本信息" RoleMark=""﹥ ﹤Role RoleID="" RoleName="編輯" RoleValue="" RoleUrl="" RoleMark="sjbjqx"﹥﹤/Role﹥ ﹤Role RoleID="" RoleName="修改" RoleValue="" RoleUrl="" RoleMark="sjxgqx"﹥﹤/Role﹥ ﹤Role RoleID="" RoleName="刪除" RoleValue="" RoleUrl="" RoleMark="sjscqx"﹥﹤/Role﹥ ﹤/Role﹥ ﹤/Role﹥ ﹤/RolesRoot﹥
我們通過ID屬性進行C#讀取XML文檔,獲取元素的值.
/// ﹤summary﹥ /// 通過ID獲取元素值 /// ﹤/summary﹥ /// ﹤param name="id"﹥XML文檔中定義的***ID屬性﹤/param﹥ /// ﹤param name="elementName"﹥對應ID元素下要查找的元素名稱﹤/param﹥ /// ﹤returns﹥﹤/returns﹥ public static string GetXmlElementValueById(string id, string elementName) { string outPut = string.Empty; try { string xmlpath = ConfigurationManager.AppSettings["RolesConfig"]; XmlDocument doc = new XmlDocument(); doc.Load(xmlpath); XmlElement elem = doc.GetElementById(id); outPut = elem.Attributes[elementName].Value; } catch (Exception ex) { Response.Write(ex.Message); } return outPut; }
到此,相信大家對“C#讀取XML文檔的方法”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。