代码之家  ›  专栏  ›  技术社区  ›  MicMit

HTML嵌套表敏捷性包有效的xpath

  •  1
  • MicMit  · 技术社区  · 15 年前

    假设嵌套表没有唯一的属性(ID、类或其他任何属性),以便通过

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

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

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

    当selectnodes返回空值时引发异常。

    如果是的话,如何用Agility Pack处理没有特定属性的嵌套表解析HTML?

    1 回复  |  直到 15 年前
        1
  •  1
  •   MicMit    15 年前

    我只是在路上错过了“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");