html嵌套表敏捷包有效xpath


假設嵌套表沒有唯一的屬性(id,class或其他任何東西)來獲取所需的一個via

doc.DocumentNode.SelectSingleNode("//table[@width='500']")

XPath是否禁止在其路徑中多次使用表?

doc.DocumentNode.SelectSingleNode("//table[@width='500']")

拋出異常,因為SelectNodes返回null。

如果是這樣,如何解決使用Agility Pack沒有特定屬性的嵌套表解析html的問題?

一般承認的答案

我錯過了我的路徑中的“td”標籤。所以

foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table/tr/td/center/table/tr/td/center/table"))

確實有效。這實際上回答了我的問題。假設父元素中有唯一屬性值,可以獲得相同表的其他解決方法

foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table/tr/td/center/table/tr/td/center/table"))




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