1

假设嵌套表没有唯一属性( id 、 class 或其他任何东西)来获得所需的属性

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

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

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

当 SelectNodes 返回 null 时抛出异常。

如果是这样,如何使用 Agility Pack 解决没有特定属性的嵌套表的 html 解析?

4

1 回答 1

1

我只是错过了路径中的“td”标签。所以

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

确实有效。这实际上回答了我的问题。假设父元素中存在唯一属性值,获取相同表的其他解决方法可能是

HtmlNode tbl = doc.DocumentNode.SelectSingleNode("//td[@height='643']/center/table");
于 2009-11-24T06:13:03.773 回答