Me gustaría construir una consulta XPath que devolverá un elemento "div" o "tabla", siempre que tenga un descendiente que contenga el texto "abc". La única advertencia es que no puede tener ningún descendiente div o de tabla.Consulta de XPath con predicados descendientes y descendientes de texto()
<div>
<table>
<form>
<div>
<span>
<p>abcdefg</p>
</span>
</div>
<table>
<span>
<p>123456</p>
</span>
</table>
</form>
</table>
</div>
Así que el único resultado correcto de esta consulta sería:
/div/table/form/div
Mi mejor intento es como la siguiente:
//div[contains(//text(), "abc") and not(descendant::div or descendant::table)] | //table[contains(//text(), "abc") and not(descendant::div or descendant::table)]
pero no devuelve el resultado correcto.
Gracias por su ayuda.
Buena pregunta, +1. Vea mi respuesta para cuál es probablemente la solución más corta. :) –