Mam strukturę HTML, którą próbuję przetestować przy użyciu XPATH. Struktura będę patrząc na obecnie jest coś takiego:Uzyskaj węzeł nadrzędny z wartości potomnej XPATH
<div id="item_1" class="item-wrapper">
<div class="container item">
<div class="container-header">
<h2 id="title">test-title</h2>
<h5 id="description">test-description</h5>
</div>
</div>
</div>
Istnieje wiele „rzeczy” w moim dokumencie, każdy z unikalnym identyfikatorem. Używając XPATH, chcę "dostać" węzeł item_1 z wartości węzła id title
("test-title" w tym przypadku).
Chcę również zrobić to w sposób, który nie jest zależny od znacznika węzła (div
/h2
/etc).
Grałem z predykatami, ale nie mogę znaleźć rozwiązania, które działa. Na przykład:
//*[@class="item-wrapper"][./*[@id="title"][text()="test-title"]]
Dzięki za pomoc!
Właściwie szukam to zrobić bez odniesienia do identyfikatora bezpośrednio, ponieważ są one generowane automatycznie i niepowtarzalny. Chciałem również, aby wyszukiwanie odbywało się według wartości tekstowej "title", jak wspomniano powyżej. Twoja odpowiedź wskazała mi jednak właściwy kierunek, "/ ancestor :: *" był tym, czego mi brakowało. FYI, odpowiedzią na mój problem było: '// * [@ id =" title "] [text() =" test-title "]/ancestor :: * [@ class =" item-wrapper "]' – olan
@ zobacz moją aktualizację! :) –