Używam pakietu Agility Pack Html do uruchamiania zapytań xpath na stronie internetowej. Chcę znaleźć wiersze w tabeli, które zawierają pewien interesujący element. W poniższym przykładzie chcę pobrać drugi wiersz.Zapytanie Xpath, aby znaleźć elementy, które zawierają określonego potomka
<table name="important">
<tr>
<td>Stuff I'm NOT interested in</td>
</tr>
<tr>
<td>Stuff I'm interested in</td>
<td><interestingtag/></td>
<td>More stuff I'm interested in</td>
</tr>
<tr>
<td>Stuff I'm NOT interested in</td>
</tr>
<tr>
<td>Stuff I'm NOT interested in</td>
</tr>
</table>
szukam zrobić coś takiego:
//table[@name='important']/tr[has a descendant named interestingtag]
Z wyjątkiem poprawnej składni XPath. ;-)
Przypuszczam, że mógłbym po prostu znaleźć interesujący element, a następnie pracować z łańcuchem nadrzędnym od węzła, który powrócił, ale wydawało mi się, że powinien istnieć sposób na zrobienie tego w jednym kroku i jestem po prostu gęsta.
lub sposób @ mirod też by działał. :-) –
Doskonały. To bardzo pomocne. Niestety nie mogę przyjąć dwóch odpowiedzi! –
Zawsze uważam za zabawne, jak wiele sposobów na uzyskanie pożądanego wyniku w XPath. Wierzę, że // table [@ name = 'important'] // interestingtag // ancestor :: tr powinien również działać. – mirod