2010-12-01 97 views
19

一個子鑑於入門屬性的XPATH

<foo> 
    <bar baz="Hello, World!"> 
</foo> 

如何我所有,但@baz的最後4個字符?我的一個嘗試是:

/foo/bar/@baz[substring(., 0, -4)] 
+1

問得好,+1。看到我的答案是迄今唯一正確的解決方案。 :) – 2010-12-01 07:38:49

回答

17

使用

substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-3) 

請注意在表達式中3

下列哪項是錯誤

substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4) 

,因爲這將返回baz屬性的字符串值的最後5個字符。

3

這實際上並不壞,但IIRC子串不喜歡負指數。我試過

substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4) 

這給了我預期的結果。

6

試試這個: substring-before(/foo/bar/@baz,"rld!")

+0

這真的很簡單,謝謝。 – Rao 2017-03-14 06:05:18