一个子鉴于入门属性的XPATH
<foo>
<bar baz="Hello, World!">
</foo>
如何我所有,但@baz的最后4个字符?我的一个尝试是:
/foo/bar/@baz[substring(., 0, -4)]
一个子鉴于入门属性的XPATH
<foo>
<bar baz="Hello, World!">
</foo>
如何我所有,但@baz的最后4个字符?我的一个尝试是:
/foo/bar/@baz[substring(., 0, -4)]
使用:
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-3)
请注意在表达式中3
。
下列哪项是错误:
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4)
,因为这将返回baz
属性的字符串值的最后5个字符。
这实际上并不坏,但IIRC子串不喜欢负指数。我试过
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4)
这给了我预期的结果。
问得好,+1。看到我的答案是迄今唯一正确的解决方案。 :) – 2010-12-01 07:38:49