JSoup在解析HTML文档时返回的文档树是否支持单个文档元素上的getComputedStyle?
我想要做的是在HTML片段中内联CSS,以便我可以将片段插入到更大的HTML文档中,保留所有格式,但不会弄乱文档中的任何其他格式。
我所做的研究似乎表明我可以通过遍历文档中的所有元素,在每个元素上调用getComputedStyle,并将结果指定为元素的样式来实现此目的。
是的,我意识到通过在单个元素上放置一堆冗余/不必要的样式信息,这可能会很好地破坏最终的HTML,但我愿意为更大的HTML付出代价,尽我所能告诉我,这样嵌入样式是唯一能够完全保留格式,同时使HTML片段完全可移植的方法。 (如果你有另一个建议来实现这个目的,我全都耳朵。: - )
回到主题...如果我不能在JSoup中使用getComputedStyle(或等效的),是否有另一个支持getComputedStyle或等效的Java HTML + CSS解析器?
感谢。
答案 0 :(得分:0)
那是不可能的。 Jsoup只是一个支持CSS选择器的HTML解析器,它不是HTML渲染器。
您可能需要查看Lobobrowser,这是一个支持JavaScript等基于Java的HTML渲染器。 我不知道也不保证Lobo 支持getComputedStyle()
。
没有其他工具可以想到。 HtmlUnit接近,因为它也可以访问/调用JavaScript,但some Google results表明getComputedStyle()
也不能在HtmlUnit上运行。毕竟它实际上也不是真正的HTML渲染器。