【问题标题】:Select node only when it has no class仅在没有类时选择节点
【发布时间】:2014-10-13 14:10:56
【问题描述】:

我正在使用 HTMLAgilityPack 来抓取一堆标签。有些人分配了几个班级中的一个,有些人没有班级。我需要的是那些没有课程的人。

我知道要按类获取节点,我们可以执行以下操作;

.SelectNodes("//table[@class=\"pagelinks\"]");

同样,您可以选择忽略特定的类或 id;

.SelectNodes("//table[not(@class=\"pagelinks\")]");

但是有没有办法只在没有类时才抓取一个节点?

任何指针将不胜感激。

谢谢。

【问题讨论】:

  • 在您编辑之前,您的第二个示例是.SelectNodes("//table[not(@class)]");。你试过吗?

标签: c# xpath html-agility-pack


【解决方案1】:

当根本没有定义类属性时,应该选择以下代码:

.SelectNodes("//table[not(@class)]");

【讨论】:

  • 真的吗?有趣的。我会试试看。
【解决方案2】:

此 XPath 将选择没有 class 属性或 class 属性完全为空格(或空白)的表:

//table[not(normalize-space(@class))]

【讨论】:

    猜你喜欢
    • 2015-10-10
    • 1970-01-01
    • 2021-12-18
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多