zoukankan      html  css  js  c++  java
  • C#使用xpath查找xml节点信息

    Xpath是功能很强大的,但是也是相对比较复杂的一门技术,最好还是到博客园上面去专门找一些专业的帖子来看一看,下面是一些简单的Xpath语法和一个实例,提供给你参考一下。 

    xml示例:

    <?xml version="1.0" encoding="utf-8" ?>
    <roles>
      <role order="1">
        <roleId>1</roleId>
        <roleName>一般用户</roleName>
      </role>
      <role order="3">
        <roleId>2</roleId>
        <roleName>测试用户</roleName>
      </role>
      <role order="2">
        <roleId>3</roleId>
        <roleName>中心管理员</roleName>
      </role>
      <role order="4">
        <roleId>4</roleId>
        <roleName>系统管理员</roleName>
      </role>
    </roles>

    说明:如果XPath的开头是一个斜线(/)代表这是绝对路径。如果开头是两个斜线(//)表示文件中所有符合模式的元素都会被选出来,即使是处于树中不同的层级也会被选出来

    1.选择第一个role的roleName

        示例:/roles/role[1]/roleName   说明:xml中的下标是从1开始的

    2.选择属性order='2'的角色的节点

        示例:/roles/role[@order='2']   说明:@order表示属性

    3.选择第一个role的order的值

        示例:/roles/role[1]/@order

    总结:上面讲的都是xpath的语法,但是在C#中怎么使用呢,具体代码如下:

    XmlDocument xml = new XmlDocument();  //实例化一个XmlDocument
    xml.Load("app.xml");        //根据路径加载一个xml文档
    //xml中的索引从1开始的
    XmlNode node=xml.SelectSingleNode("/roles/role[1]/@order");    根据xpath返回具体的一个节点,如果相匹配的有多个节点则返回第一个节点,SelectNodes()用语获得多个节点的集合
    MessageBox.Show(node.InnerText);   //读取该节点的相关信息

        

  • 相关阅读:
    python 基础2
    ffmpeg安装和录制linux桌面图像
    Python TCP Socket 传输服务器资源信息(C/S)
    ubuntu下,hue3.7编译安装,设置中文语言
    Python 图片转字符画
    Python快速教程
    spark安装部署
    python基础之文件处理
    python之路之函数
    python习题
  • 原文地址:https://www.cnblogs.com/duanjt/p/5440540.html
Copyright © 2011-2022 走看看