【问题标题】:Number of styled elements in an HTML using JSoup使用 JSoup 的 HTML 中样式元素的数量
【发布时间】:2018-03-06 22:40:17
【问题描述】:

如何使用 JSoup 计算 HTML 中所有样式元素的数量? 如果文档对象是doc,我不是这个意思:

doc.select["*[style]"]

因为这只是选择所有具有样式作为属性的元素,但我想知道样式已以任何方式应用到的元素的数量,例如通过 css 或从标题样式。

【问题讨论】:

    标签: java jsoup


    【解决方案1】:

    您可以通过使用*[style] 选择器并调用Elements.size() 方法来做到这一点,例如

    final String html = "<html><body><p>test</p><p style=\"color:red\"></p><span>aa</span><span style=\"font-size:10pt\">adasd</span></body></html>";
    
    final Document doc = Jsoup.parse(html);
    
    final int count = doc.select("*[style]").size();
    
    System.out.println("Count = " + count);
    

    输出

    Count = 2
    

    【讨论】:

    • 正如我所解释的,我不想计算具有样式属性的元素的数量。有时样式可能会从头部或其他 .css 文件中应用。我想知道是否可以计算以任何方式应用了样式的所有元素。
    • @Siavash 抱歉误解了您的问题。无论如何,您不能选择从 CSS 应用样式的元素,因为 CSS 文件不是 DOM 文档的一部分,而 JSoup 仅适用于 DOM 文档树。应用 CSS 样式不会改变 DOM 文档结构中的任何内容,它只是 Web 浏览器应用的一种装饰。
    • 是的,我想出读取 CSS 文件并将属性添加到所有元素。请更新答案,以便我接受它是正确的。
    猜你喜欢
    • 2020-10-01
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多