本篇內(nèi)容主要講解“C#讀取XML文檔的方法”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C#讀取XML文檔的方法”吧!
10多年的蘇尼特左網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整蘇尼特左建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“蘇尼特左網(wǎng)站設(shè)計(jì)”,“蘇尼特左網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
下面是一個(gè)C#讀取XML文檔的比較通用的方法,可以很方便地讀取XML文檔格式.XML文檔如下:
﹤?xml version="1.0" encoding="utf-8" ?﹥ ﹤RolesRoot ID="0" RoleName="應(yīng)用權(quán)限配置" 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="司機(jī)基本信息" RoleValue="" RoleUrl="車輛管理/司機(jī)基本信息" 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"﹥父級(jí)節(jié)點(diǎn)位置,如RolesRoot/Roles﹤/param﹥ /// ﹤param name="childNodeName"﹥子節(jié)點(diǎn)名稱,如要在Role節(jié)點(diǎn)下找相關(guān)元素值﹤/param﹥ /// ﹤param name="matchElementName"﹥要進(jìn)行匹配的元素名稱,如通過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="應(yīng)用權(quán)限配置" 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="司機(jī)基本信息" RoleValue="" RoleUrl="車輛管理/司機(jī)基本信息" 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屬性進(jìn)行C#讀取XML文檔,獲取元素的值.
/// ﹤summary﹥ /// 通過ID獲取元素值 /// ﹤/summary﹥ /// ﹤param name="id"﹥XML文檔中定義的***ID屬性﹤/param﹥ /// ﹤param name="elementName"﹥對(duì)應(yīng)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; }
到此,相信大家對(duì)“C#讀取XML文檔的方法”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!