C#读取XML文档的方法

发布时间:2021-06-16 11:43:59 作者:chen
来源:亿速云 阅读:160

本篇内容主要讲解“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文档的方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. PHP读取XML的方法
  2. 获取XML文档大小的方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:JavaFX开发的查找客户端可用串口列表的方法

下一篇:如何理解C#插件技术

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》