XPath语法
来源:互联网 发布:药店收银软件 编辑:程序博客网 时间:2024/05/22 00:19
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的简单理解,由于长时间不用容易忘,因此写下来,以后也不用到处找了。
- xPath语法
- XPath语法
- xpath语法
- XPath 语法
- XPath语法
- XPath 语法
- XPath 语法
- XPath 语法
- XPath 语法
- XPath 语法
- XPath 语法
- XPath 语法
- XPath语法
- XPath语法
- XPath语法
- xpath 语法
- XPath语法
- XPath语法
- 优化你的PowerBuilder程序
- How does Xen's Guest Domain wake up..?
- 院赛1013(A number game)
- PHP页面跳转几种实现技巧
- 院赛1005(对抗赛)
- XPath语法
- php framework
- php framework
- 关于获取debug.keystore的MD5问题
- c# 值类型 和 引用类型
- TECH: Summary For Forcing The Database Open With `_ALLOW_RESETLOGS_CORRUPTION` with Automatic Undo Management [ID 283945.1]
- 如何成为一个Linux内核开发者
- 迷失在那一片蓝海里~
- ActivityGroup的完美实现