网站建设资讯

NEWS

网站建设资讯

C#读取XML文档的方法

本篇内容主要讲解“C#读取XML文档的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#读取XML文档的方法”吧!

10多年的苏尼特左网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整苏尼特左建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“苏尼特左网站设计”,“苏尼特左网站推广”以来,每个客户项目都认真落实执行。

下面是一个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文档的方法
本文地址:http://cdweb.net/article/ihecsg.html