Xpath根据之前的兄弟文本选择br之前的text()

时间:2013-03-04 20:38:08

标签: html xpath siblings

我有这个HTML代码:

<td width="220" align="left">
    <b>Valor da Venda:</b> 
    R$ 650.000,00<br>
    <b>Valor do IPTU:</b> 
    R$ 0,00<br>
    <b>Valor do Condomínio:</b> 
    R$ 0,00
</td>

我正在尝试从前面的“br”标签中选择text(),其中前面的“b”标签中的text()等于“Valor da Venda:”。

我尝试过:

/td//text()[preceding::br and contains(../b/text(),'Valor da Venda:')]

但这是回归

[' R$ 650.000,00', ' R$ 0,00', ' R$ 0,00 ']

虽然我想只返回第一个R $ 650.000,00

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

虽然不完全一样,但这可能是你的解决方案吗?

/td/b[.="Valor da Venda:"]/following-sibling::text()[1]

或者,如果需要检查br

/td/b[.="Valor da Venda:"]/following-sibling::text()[1][following-sibling::br]'