这是我的xpath
//dns:tbody//dns:td[1][@rowspan="1"]/text()
我想找到一个解决方案,如何使属性行跨度@rowspan=" only number "
只接受数字
我正在寻找XPath 1.0中的解决方案正则表达式
Regexp =^[0-9]*$
我的问题我不知道如何将正则表达式与XPath1.0或任何其他解决方案集成
发布于 2018-05-15 07:06:14
尝试使用下面的解决方案而不是regex:
//dns:tbody//dns:td[1][number(@rowspan)<=0 or number(@rowspan)>0]/text()
这应该与@rowspan
与int值相匹配。
发布于 2018-05-15 07:08:03
您可以使用测试的解决方案:
number()
函数)-
开头(用starts-with()
)contains()
)就像这样:
//dns:tbody//dns:td[1][string(number(@rowspan))!='NaN'][not(starts-with(@rowspan, '-'))][not(contains(@rowspan, '.'))]/text()
或
//dns:tbody//dns:td[1][not(string(number(@rowspan))='NaN' or starts-with(@rowspan, '-') or contains(@rowspan, '.'))]/text()
发布于 2018-05-15 06:53:19
一些XPath实现允许您提供自己的函数。您需要检查有关XPath实现的文档。
https://stackoverflow.com/questions/50353147
复制