XPath语法

C#中利用XmlDocument读取xml文件,经常需要用到XPath的路径表达式来选取XML文档中的节点或节点集,于是简单的查了一些资料。

以xml文档为例:


C#代码:

1.基本表达式
(1)节点名 从当前节点开始选取,选取当前节点的子节点,如 XPath = "Students" 选取当前节点下的Students子节点,选取结果为1个节点;
XPath = "Student" 选取当前节点下的Student子节点,选取结果为0个节点;
(2)/      从根开始选取,如 XPath = "/Students/Student" 选取属于根节点Students的所有Student节点,选取结果为6条
(3)//     选择文档中的节点,不考虑它们的位置,如 XPath = "//Student" 选取所有Student节点(忽略节点在文档中的位置),选取结果为6条
(4).      选取当前节点
(5)..     选取当前节点的父节点
(6)@      选取属性,如 XPath = "//@Name" 选取所有Name属性

2.谓语(Predicates)
谓语用来查找某个特定的节点或者包含某个指定的值的节点,谓语被嵌在方括号中。我的理解就是条件,一下是示例
(1)XPath = "/Students/Student[1]"    选取第一个节点
(2)XPath = "/Students/Student[last()]"    选取最后一个节点
(3)XPath = "/Students/Student[position()<5 and position()>2]"    选取第三四个节点
(4)XPath = "//Student[@Name='张三']"    选取所有姓名为"张三" 的学生节点
(5)XPath = "//Student[@Age>18]"    选取所有年龄大于18的学生节点

3.通配符
(1)*    匹配任何元素节点,如 XPath = "//*" ,选取所有元素节点,可得到7个节点(包括根节点)
(2)@*    匹配任何属性节点

4.|运算符
采用"|"运算符可以添加多个路径,如:
XPath = "//Student[@Name='张三'] | //Student[@Age='19']"  可以选取到姓名为张三和年龄为19的学生节点

以上只是对XPath的简单理解,由于长时间不用容易忘,因此写下来,以后也不用到处找了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值