下面是一个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文档的相关内容就向你介绍到这里,希望对你学习或了解C#读取XML文档有所帮助。
当前题目:C#读取XML文档实例浅析
当前链接:http://www.shufengxianlan.com/qtweb/news22/533872.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联