这是我的xpath
//dns:tbody//dns:td[1][@rowspan="1"]/text()
我想找到一个解决方案,如何使属性rowspan @rowspan=" only number "
只接受数字
我在XPath 1.0中寻找解决方案正则表达式
Regexp = ^[0-9]*$
我的问题我不知道如何将正则表达式与XPath1.0或任何其他解决方案集成
答案 0 :(得分:1)
您可以使用测试的变通方法:
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()
答案 1 :(得分:0)
某些XPath实现允许您提供自己的功能。您需要查看有关XPath实现的文档。
Java:http://xml.apache.org/xalan-j/xpath_apis.html#functionresolver
答案 2 :(得分:0)
尝试使用以下解决方案而不是正则表达式:
//dns:tbody//dns:td[1][number(@rowspan)<=0 or number(@rowspan)>0]/text()
这应该使@rowspan
与int值匹配