您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
本篇内容主要讲解“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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。