HtmlAgilityPack 仅在缺少或未定义属性的情况下选择节点

HtmlAgilityPack SelectNodes only where an attribute is missing or not defined

我有一份 HTML 文档,其中包含不同的 table。

简单的例子包括2种:

  1. <table>
  2. <table class="footer" id="some-x">

到 select table 具有名为 id 的属性的所有节点,我可以使用

DocumentNode.SelectNodes("//table[@id]")

我想找出相反的东西,我如何 select 节点 table 做 NOT 的任何属性称为id(或任何 class,即只是裸标签)(示例 1)

类似的东西在这里可能有用。如果没有,请告诉我

doc.DocumentNode.Descendants("table").Where(t => !t.HasAttributes)

您可以使用 not() 到 select 没有任何 id 属性的表:

DocumentNode.SelectNodes("//table[not(@id)]")

...或到 select 完全没有任何属性的表:

DocumentNode.SelectNodes("//table[not(@*)]")