xpath替换不工作?

时间:2017-11-14 15:06:06

标签: html xml xslt xpath

使用此HTML

<tr>
                <td class="listOddRow"><a href="/bnc/page?BPPC=BPPC17111409443230443484&amp;aliasDispatcher=bankingAccountHistory&amp;key=1027510022703&amp;cAliasDispatcher=bankingStatement&amp;kookToken=wHwy83w6cX" class="listLinks" onclick="setValidExitDocument();">Chequing</a>&nbsp;</td>
                <td class="listOddRow">00-227-03</td>
                <td class="listOddRow" nowrap="">0275-1</td>
                <td class="listOddRow" align="right" nowrap="">$&nbsp;28.08</td>


            </tr>

任何人都知道为什么会这样做

enter image description here

//td[contains(text(),"00-227-03")]/parent::tr//a

但不是吗?我想在调用text()

之前从contains()删除破折号

enter image description here

//td[contains(replace(text(), "-", ""),"0022703")]/parent::tr//a

1 个答案:

答案 0 :(得分:1)

至少在xpath 1.0中没有函数replace,但是translate以相同的方式工作 - 它在第3个字符串中替换第3个字符串中的相应字符。所以,你可以使用Xpath

//td[contains(translate(text(), "-", ""),"0022703")]/parent::tr//a