2

我是 XPath 的新手。我正在编写一个代码来从页面中获取所有 3 位数字。它们不是恒定的,在 105、515 和 320 之间变化。我希望两个能够将这些数字标记为两个单独的部分......

我希望能够在一个 X 路径表达式中获取第一个数字,在第二个 X 路径表达式中获取第二个数字

在进行研究时,我发现您无法使用“零值”进行标记,但是有什么办法可以做到这一点?

谢谢

4

1 回答 1

1

在我看来,问题实际上是关于将3 位数字拆分为两个字符串的可能方法,第一个包含第一个数字,第二个包含剩余的两个数字。

这是一种可能的解决方案

以下 XPath 表达式在计算时会生成一个包含数字 $vNum 的第一位数字的字符串(在实际的 XPath 表达式中,将 $vNum 替换为生成此值的 XPath 表达式):

  substring($vNum, 1, 1)

以下 XPath 表达式在求值时生成一个字符串,其中包含 3 位数字 $vNum 的最后两位数字(在实际的 XPath 表达式中,将 $vNum 替换为产生此值的 XPath 表达式):

  substring($vNum, 2)

如果我们不确定$vNum 的位数,则下面的 XPath 表达式在计算时会生成一个字符串,其中包含紧跟在 3+ 位数字$vNum 的第一个数字之后的两个数字(在实际的 XPath 表达式中,将 $vNum 替换为产生此值的 XPath 表达式):

  substring($vNum, 2, 2)

最后,如果我们再次不知道确切的位数,但想要获得最后两位,则以下 XPath 表达式在计算时会生成一个字符串,该字符串包含 2+ 位数字 $vNum 末尾的两位数(在实际的 XPath 表达式中,将 $vNum 替换为产生此值的 XPath 表达式):

 substring($vNum, string-length($vNum) - 1)
于 2009-02-13T04:03:26.280 回答