Mam dobrze uformowaną stronę XHTML . Chcę znaleźć docelowy adres URL łącza, gdy mam tekst, do którego prowadzi łącze.
Przykład
<a href="http://stackoverflow.com">programming questions site</a>
<a href="http://cnn.com">news</a>
Chcę wyrażenia XPath takiego, że jeśli zostanie podane programming questions site
, da, http://stackoverflow.com
a jeśli podam, news
da http://cnn.com
.
http
lub określone słowo kluczowe?Dla ciebie za późno, ale dla każdego z tym samym pytaniem ...
Oczywiście „programowaniem” może być dowolny fragment tekstu.
źródło
który zasadniczo identyfikuje węzeł zakotwiczenia zawierający żądany
<a>
tekst i wyodrębniahref
atrybut.źródło
Wyobraź sobie frazę w nawiasach kwadratowych jako klauzulę WHERE w języku SQL.
To zapytanie mówi, „wybierz atrybut„ href ”(@) tagu„ a ”, który pojawia się gdziekolwiek (//), ale tylko wtedy, gdy (fraza w nawiasach kwadratowych) zawartość tekstowa tagu„ a ”jest równa„ strona z pytaniami programistycznymi '”.
źródło
W przypadku zawartości bez rozróżniania wielkości liter użyj następującego:
translate konwertuje wielkie litery w PROGRAMOWANIU na małe litery.
źródło
jeśli używasz pakietu agility html, użyj getattributeValue:
$doc2.DocumentNode.SelectNodes("//div[@class='className']/div[@class='InternalClass']/a[@class='InternalClass']").GetAttributeValue("href","")
źródło