Ich habe mehrere Kombinationen ohne Erfolg ausprobiert. Der vollständige xpath zu diesen Daten ist .//*[@id='detail_row_seek_37878']/td
Das Problem ist der Zahlenteil '37878' ändert sich für jeden Knoten und somit kann ich keine foreach benutzen, um die Knoten zu durchlaufen. Gibt es eine Möglichkeit, einen Platzhalter zu verwenden und den xpath auf .//*[@id='detail wildcard
Platzhalter .//*[@id='detail zu .//*[@id='detail wildcard
, um den absoluten .//*[@id='detail wildcard
zu umgehen? Ich verwende html Agility Pack auf diesem.
HtmlNode ddate = node.SelectSingleNode(".//*[@id='detail_row_seek_37878']/td");
Extrahiere den Teil, der sich nicht ändert:
//*[starts-with(@id, 'detail_row_seek')]/td
Verwandte Techniken und Funktionen
Um Elemente _row_
deren id
Attribut die Zeichenfolge _row_
am 7. Zeichen enthält :
//*[substring(@id, 7, 5)='_row_']/td
Passend Elemente , deren id
- Attribut enthält den Text detail_
an einer beliebigen Position:
//*[contains(@id, 'detail_')]/td
Elemente detail_row_seek
deren id
Attribut mit dem Text detail_row_seek
endet :
//*['detail_row_seek' = substring(@id,
string-length(@id) - string-length('detail_row_seek') + 1)]/td