问题是我正在寻找构建一个 XPath 表达式来获取具有属性 XXX 的节点,该节点具有像 TP* 这样的值,其中星号是一个数字。
假设我有这个 XML 文件
<tagA attA="VAL1">text</tagA>
<tagB attB="VAL333">text</tagB>
<tagA attA="VAL2">text</tagA>
<tagA attA="V2">text</tagA>
所以 xpath 表达式应该让我所有
tagA
具有属性 attrA
的值与模式 VAL*
//tagA[@attrA[matches('VAL\d')]]
: 不工作请问有什么帮助吗?
最佳答案
如果您需要 XPath 1.0 解决方案,请尝试以下操作:
//tagA[boolean(number(substring-after(@attA, "VAL"))) or number(substring-after(@attA, "VAL")) = 0]
如果
@attA
不能是 "VAL0"
,那么只要//tagA[boolean(number(substring-after(@attA, "VAL")))]
关于java - 如何使用 XPath 匹配以数字结尾的字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52742754/