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); //读取该节点的相关信息
C#使用xpath查找xml节点信息的更多相关文章
- Xml中SelectSingleNode方法,xpath查找某节点用法
Xml中SelectSingleNode方法,xpath查找某节点用法 最常见的XML数据类型有:Element, Attribute,Comment, Text. Element, 指形如<N ...
- 第一百二十六节,JavaScript,XPath操作xml节点
第一百二十六节,JavaScript,XPath操作xml节点 学习要点: 1.IE中的XPath 2.W3C中的XPath 3.XPath跨浏览器兼容 XPath是一种节点查找手段,对比之前使用标准 ...
- C#用xpath查找某节点
C#用xpath查找某节点 从根节点一直下来的相对路径才能确定Xpath的写法. /root/<节点1>/<节点2>//<@属性> Xpath是功能很强大的,但是也 ...
- Python 关于xpath查找XML元素的一点总结
关于xpath查找XML元素的一点总结 by:授客 QQ:1033553122 欢迎加入全国软件测试qq群:7156436 测试环境 Win7 64 python 3.4.0 实践出真知 代码 ...
- dom4j的xpath查找xml的指定节点
递归遍历所有节点http://blog.csdn.net/sidihuo/article/details/47318723 获取Document SAXReader saxReader = new S ...
- 用XPath查找HTML节点或元素
更新版以后会在我的新博客更新,请您移步 https://blog.clso.fun/posts/2019-03-03/46.html 虽然JQ和JS都能很方便的查找包含了ID及类名的元素,但某些情况下 ...
- C#中如何创建xml文件 增、删、改、查 xml节点信息
XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized Markup Lang ...
- 用SelectSingleNode()方法查找xml节点一直返回null
代码使用如下 XmlNode root = xmlDoc.SelectSingleNode("Project"); 返回的root一直是null 查了xml文件中确实是有Proje ...
- ASP.NET MVC - XML节点查找
Jquery操作Xml Jquery1.2开始不再支持XPath表达式. <?xml version="1.0" encoding="utf-8" ?&g ...
随机推荐
- SQL Server查询中特殊字符的处理方法
SQL Server查询中,经常会遇到一些特殊字符,比如单引号“'”等,这些字符的处理方法,是SQL Server用户都应该需要知道的. 我们都知道SQL Server查询过程中,单引号“'”是特殊字 ...
- 百度知道里关于C++的讨论
1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C++ Programm ...
- kafka集群监控工具之三--kafka Offset Monitor
1.介绍 一般情况下,功能简单的kafka项目 使用运维命令+kafka Offset Monitor 就足够用了. 2.使用2.1 部署 github下载jar包 KafkaOffsetMonit ...
- Linux基础命令---sort
sort 以行为单位,对文本文件进行排,并输出排序结果.默认情况下,以每一行为一个单位,从首字符开始按照ASCII码向后逐个比较. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS ...
- Django popup示例
urls.py urlpatterns = [ url('popup_test1',views.popup_test1), url('popup_test2',views.popup_test2), ...
- Jsp中如何通过Jsp调用Java类中的方法
Jsp中如何通过Jsp调用Java类中的方法 1.新建一个项目,在src文件夹下添加一个包:如:cn.tianaoweb.com; 2.再在包中添加一个类:如 package com; public ...
- RabbitMQ详解(一)------简介与安装(Docker)
RABBITMQ详解(一)------简介与安装(DOCKER) 刚刚进入实习,在学习过程中没有接触过MQ,RabbitMQ 这个消息中间件,正好公司最近的项目中有用到,学习了解一下. 首先什么是MQ ...
- 01: Django基础篇
目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...
- SpringCloud请求响应数据转换(一)
异常现象 近期做Spring Cloud项目,工程中对Controller添加ResponseBodyAdvice切面,在切片中将返回的结果封装到ResultMessage(自定义结构),但在Cont ...
- BZOJ 2594 水管局长数据加强版(动态树)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2594 题意:给出一个无向图,边有权值.定义一条路径的长度为该路径所有边的最大值.两种操作 ...