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); //读取该节点的相关信息

C#使用xpath查找xml节点信息的更多相关文章

  1. Xml中SelectSingleNode方法,xpath查找某节点用法

    Xml中SelectSingleNode方法,xpath查找某节点用法 最常见的XML数据类型有:Element, Attribute,Comment, Text. Element, 指形如<N ...

  2. 第一百二十六节,JavaScript,XPath操作xml节点

    第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准 ...

  3. C#用xpath查找某节点

    C#用xpath查找某节点 从根节点一直下来的相对路径才能确定Xpath的写法. /root/<节点1>/<节点2>//<@属性> Xpath是功能很强大的,但是也 ...

  4. Python 关于xpath查找XML元素的一点总结

    关于xpath查找XML元素的一点总结 by:授客 QQ:1033553122   欢迎加入全国软件测试qq群:7156436   测试环境 Win7 64 python 3.4.0 实践出真知 代码 ...

  5. dom4j的xpath查找xml的指定节点

    递归遍历所有节点http://blog.csdn.net/sidihuo/article/details/47318723 获取Document SAXReader saxReader = new S ...

  6. 用XPath查找HTML节点或元素

    更新版以后会在我的新博客更新,请您移步 https://blog.clso.fun/posts/2019-03-03/46.html 虽然JQ和JS都能很方便的查找包含了ID及类名的元素,但某些情况下 ...

  7. C#中如何创建xml文件 增、删、改、查 xml节点信息

    XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized Markup Lang ...

  8. 用SelectSingleNode()方法查找xml节点一直返回null

    代码使用如下 XmlNode root = xmlDoc.SelectSingleNode("Project"); 返回的root一直是null 查了xml文件中确实是有Proje ...

  9. ASP.NET MVC - XML节点查找

    Jquery操作Xml Jquery1.2开始不再支持XPath表达式. <?xml version="1.0" encoding="utf-8" ?&g ...

随机推荐

  1. C#方法参数传递-同时使用ref和out关键字

    在方法参数传递中,可以同时使用ref和out关键字,但是要注意ref和out参数传递的不同. using System;class Program{static void Main(){    Pro ...

  2. 搭建Python3的jupyter notebook服务器

    摘要:搭建Python3 jupyter notebook. 激活Python3后,进入Python交互环境 1. 登陆远程服务器 2. 生成配置文件 1. $jupyter notebook --g ...

  3. Object-C-Foundation-NSDate

    NSDate 表达日期表达时间的方法 NSDate *now=[NSDate date]; 获得当前日期 NSDate *tomrrow=[now dateByAddingTimeInterval:2 ...

  4. C# 将字节流转换为图片的实例方法(转)

    代码如下: usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem. ...

  5. SQL查询日历

    这东西给自己留着用. 经常会用到一些查询需要做全月统计,但有些时候的统计需要将未发生日期也显示出来,因此会需要一个固定的日期表,(T6的自定义查询估计也是需要的,至少以前是这样) 下面写两种方法来获取 ...

  6. 【kafka学习之三】kafka集群运维

    kafka集群维护一.kafka集群启停#启动kafka/home/cluster/kafka211/bin/kafka-server-start.sh -daemon /home/cluster/k ...

  7. php ci 报错 Object not found! The requested URL was not found on this server. If you entered the URL manually please check

    Object not found! The requested URL was not found on this server. The link on the referring page see ...

  8. linux复制指定目录下的全部文件到另一个目录中,linux cp 文件夹

    linux复制指定目录下的全部文件到另一个目录中复制指定目录下的全部文件到另一个目录中文件及目录的复制是经常要用到的.linux下进行复制的命令为cp.假设复制源目录 为 dir1 ,目标目录为dir ...

  9. MySQL笔记(六)游标练习

    23.3.1 Trigger Syntax and Examples 意义不明的几道练习,留着备用. 感觉不好写,而且难以调试..不知道以后会不会有实际的应用场景. 环境:MySQL 笔记(三)由 t ...

  10. 02:BeautifulSoup

    1.1 BeautifulSoup介绍 1.BeautifulSoup作用 1.BeautifulSoup是一个模块,该模块用于接收一个HTML或XML字符串,然后将其进行格式化 2.之后遍可以使用他 ...