【问题标题】:Excluding two id's in jsoup selector?在 jsoup 选择器中排除两个 id?
【发布时间】:2017-11-06 11:44:51
【问题描述】:

我正在尝试查找 url 的所有输入值,但我需要排除几个。您如何在列表中排除两个或多个 id? 类似这样:

        Elements e = doc.select("input[id != fm-login-id]");

但我想排除两个 id,所以我正在寻找这样的东西:

        Elements e = doc.select("input[id != fm-login-id && id fm-login-password]");

有人知道正确的方法吗?谢谢

【问题讨论】:

    标签: css-selectors jsoup


    【解决方案1】:

    我不知道 jsoup 是否真的支持 [attr!=value] 选择器(它们是 part of jQuery,除了 :has() 之外,我不知道 jsoup 从中借了多少),但是在标准选择器语法中你可以这样做使用 :not(),以及 ID 选择器或属性选择器,具体取决于您的偏好:

    Elements e = doc.select("input:not(#fm-login-id):not(#fm-login-password)");
    
    Elements e = doc.select("input:not([id=fm-login-id]):not([id=fm-login-password])");
    

    【讨论】:

    • 您好,感谢您的帮助!你知道是否有办法解析这个元素列表中的所有“值”属性?使用System.out.print(e.attr("value")); 只会从第一个元素中给出一个值。这是否意味着我必须创建一个数组?
    • @sandra burgle:您需要使用 for (Element element : e) 循环遍历 e(它本身是一个数组)。
    • 再次感谢您的帮助! this(和this)是我在阅读您的评论后发现的。效果很好,适合任何有同样问题的人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 2013-07-13
    • 2013-11-25
    相关资源
    最近更新 更多