我嘗試了幾種組合但沒有成功。該數據的完整xpath是.//*[@id='detail_row_seek_37878']/td ' .//*[@id='detail_row_seek_37878']/td 。問題是每個節點的數字部分'37878'發生了變化,因此我無法使用foreach循環遍歷節點。是否有某種方法可以使用通配符並將xpath減少到.//*[@id='detail wildcard [ .//*[@id='detail wildcard ,以便繞過絕對值部分?我正在使用html敏捷包。

 HtmlNode ddate = node.SelectSingleNode(".//*[@id='detail_row_seek_37878']/td");

一般承認的答案

提取不變的部分:

//*[starts-with(@id, 'detail_row_seek')]/td

相關技術和功能

要匹配id屬性包含第7個字符的字符串_row_元素:

//*[substring(@id, 7, 5)='_row_']/td 

要在任何位置匹配id屬性包含文本detail_元素:

//*[contains(@id, 'detail_')]/td 

要匹配id屬性文本detail_row_seek 結尾detail_row_seek

//*['detail_row_seek' = substring(@id, 
        string-length(@id) - string-length('detail_row_seek') + 1)]/td 


Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因