Tôi muốn xây dựng một truy vấn XPath sẽ trả về phần tử "div" hoặc "bảng", miễn là nó có hậu duệ chứa văn bản "abc". Một trong những báo trước là nó không thể có bất kỳ div hoặc bảng con cháu.Truy vấn XPath với hậu duệ và văn bản con cháu() predicates
<div>
<table>
<form>
<div>
<span>
<p>abcdefg</p>
</span>
</div>
<table>
<span>
<p>123456</p>
</span>
</table>
</form>
</table>
</div>
Vì vậy, chỉ đúng kết quả của truy vấn này sẽ là:
/div/table/form/div
nỗ lực tốt nhất của tôi trông giống như sau:
//div[contains(//text(), "abc") and not(descendant::div or descendant::table)] | //table[contains(//text(), "abc") and not(descendant::div or descendant::table)]
nhưng không trả lại kết quả chính xác.
Cảm ơn sự giúp đỡ của bạn.
Câu hỏi hay, +1. Xem câu trả lời của tôi cho những gì có lẽ là giải pháp ngắn nhất. :) –