Java 使用JSoup的HTML中的样式化元素数

Java 使用JSoup的HTML中的样式化元素数,java,jsoup,Java,Jsoup,如何使用JSoup计算HTML中所有样式化元素的数量? 如果文档对象是doc,我的意思不是: doc.select["*[style]"] 因为这只会选择所有以样式作为属性的元素,但我想知道样式以任何方式应用到的元素的数量,如css或标头样式。您可以通过使用*[style]选择器和调用方法来实现,例如 final String html = "<html><body><p>test</p><p style=\"color:red\">

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

doc.select["*[style]"]

因为这只会选择所有以样式作为属性的元素,但我想知道样式以任何方式应用到的元素的数量,如css或标头样式。

您可以通过使用
*[style]
选择器和调用方法来实现,例如

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);

您可以使用
*[style]
选择器和调用方法来完成此操作,例如

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);

正如我所解释的,我不想计算具有style属性的元素的数量。有时,可以从head或其他.css文件应用样式。我想知道这是否可以计算出所有元素,这些元素以任何方式应用于它们。@Siavash很抱歉误解了您的问题。无论如何,您不能选择从CSS应用样式的元素,因为CSS文件不是DOM文档的一部分,而JSoup仅适用于DOM文档树。应用CSS样式不会改变DOM文档结构中的任何内容,它只是web浏览器应用的一种装饰。是的,我想读取CSS文件并将属性添加到所有元素中。请更新答案,以便我将其视为正确。正如我所解释的,我不想计算具有style属性的元素数。有时,可以从head或其他.css文件应用样式。我想知道这是否可以计算出所有元素,这些元素以任何方式应用于它们。@Siavash很抱歉误解了您的问题。无论如何,您不能选择从CSS应用样式的元素,因为CSS文件不是DOM文档的一部分,而JSoup仅适用于DOM文档树。应用CSS样式不会改变DOM文档结构中的任何内容,它只是web浏览器应用的一种装饰。是的,我想读取CSS文件并将属性添加到所有元素中。请更新答案,以便我将其视为正确。