特殊标签
找SVG这种特殊标签可以使用[name()='svg'],如//[name()='svg']/[name()='line'][2]
文本
找标签内的文本时可以使用: //*[text()='abc']
如果有空格或回车什么的,就截空下://a[normalize-space(text())='abc']
如果想取回当前节点下的所有文本可用://a[normalize-space(.)]
常用函数
| 函数名 | 解释 |
|---|---|
| contains(@class,'btn') | class属性包含btn |
| starts-with(@class,'btn') | class属性以btn开头 |
| ends-with(@class,'btn') | class属性以btn结尾 |
| text() | 文本 |
| //input[@type='a'][@name='b'] | 并且 |
| //input[@type='a' and @name='b'] | 并且 |
| //input[@type='a' or @name='b'] | 或 |
| //input[@*='a'] | 匹配所有属性 |
| //a[last()] | a的最后一个子元素 |
boolean()
ceiling()
choose()
concat()
contains()
count()
current() XSLT-specific
document() XSLT-specific
element-available()
false()
floor()
format-number() XSLT-specific
function-available()
generate-id() XSLT-specific
id() (partially supported)
key() XSLT-specific
lang()
last()
local-name()
name()
namespace-uri()
normalize-space()
not()
number()
position()
round()
starts-with()
string()
string-length()
substring()
substring-after()
substring-before()
sum()
system-property() XSLT-specific
translate()
true()
unparsed-entity-url() XSLT-specific (not supported)
轴 descendant
XPath轴(XPath Axes)可定义某个相对于当前节点的节点集:
语法:
轴名称::节点测试[谓语]
| 轴 | 选取值 |
|---|---|
| child | 选取当前节点的所有子元素 |
| parent | 选取当前节点的父节点 |
| descendant | 选取当前节点的所有后代元素(子、孙等) |
| ancestor | 选取当前节点的所有先辈(父、祖父等) |
| descendant-or-self | 选取当前节点的所有后代元素(子、孙等)以及当前节点本身 |
| ancestor-or-self | 选取当前节点的所有先辈(父、祖父等)以及当前节点本身 |
| preceding-sibling | 选取当前节点之前的所有同级节点 |
| following-sibling | 选取当前节点之后的所有同级节点 |
| preceding | 选取文档中当前节点的开始标签之前的所有节点 |
| following | 选取文档中当前节点的结束标签之后的所有节点 |
| self | 选取当前节点 |
| attribute | 选取当前节点的所有属性 |
| namespace | 选取当前节点的所有命名空间节点 |
Refer to
https://developer.mozilla.org/en-US/docs/Web/XPath/Functions
https://www.cnblogs.com/jpfss/p/10973806.html
https://www.cnblogs.com/zhaozhan/archive/2009/09/10/1563728.html
http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html
liehen2046
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【关注我】。
浙公网安备 33010602011771号