Étant donnéObtenir un sous-chaîne d'un attribut dans XPATH
<foo>
<bar baz="Hello, World!">
</foo>
Comment puis-je tous, mais les 4 derniers caractères de @baz? Un de mes tentatives était:
/foo/bar/@baz[substring(., 0, -4)]
Étant donnéObtenir un sous-chaîne d'un attribut dans XPATH
<foo>
<bar baz="Hello, World!">
</foo>
Comment puis-je tous, mais les 4 derniers caractères de @baz? Un de mes tentatives était:
/foo/bar/@baz[substring(., 0, -4)]
Utilisation:
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-3)
Prenez note de la 3
dans l'expression.
Ce qui suit est faux:
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4)
parce que cela renvoie les 5 derniers caractères de la valeur de chaîne de l'attribut baz
.
qui est en fait pas si mal, mais IIRC ne substring pas comme indices négatifs. J'ai essayé
substring(/foo/bar/@baz, string-length(/foo/bar/@baz)-4)
Qui m'a donné le résultat attendu.
Bonne question, +1. Voir ma réponse pour la seule solution correcte jusqu'à présent. :) –