使用XPath查找变量时,只取一个变量

时间:2009-02-13 01:54:06

标签: xpath tokenize

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

我希望能够抓住一个X路径表达式中的第一个数字 和 第二个X-Path表达式中的后两位数

在进行我的研究时,我发现你无法用“零价值”进行标记,但有没有办法做到这一点?

由于

1 个答案:

答案 0 :(得分:1)

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

以下是一种可能的解决方案

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

  substring($vNum, 1, 1)

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

  substring($vNum, 2)

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

  substring($vNum, 2, 2)

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

 substring($vNum, string-length($vNum) - 1)