我正在尝试使用jStyleParser库(CSSBox项目的一部分)来分析通用网页的css,并将所有css信息绑定到该页面的DOM。 在给定网页的情况下,我的目标是拥有一个DOM树,这样,对于每个节点,我都可以获得所有c节信息,这些信息都是针对节点进行的。
这是我的代码的一部分:
System.out.println("Analizing "+Mylocalfile.getAbsolutePath());
StyleSheet ss = CSSFactory.parse(Mylocalfile.getAbsolutePath(), "UTF-8");
if (ss.isEmpty()) System.out.println("StyleSheet is void");
parse方法似乎无法解析文件:StyleSheet ss实际上是无效的。
你知道为什么吗?答案 0 :(得分:1)
只要 MyLocalFile 指向CSS样式表(* .css),您的代码就是正确的。在这种情况下,您应该在 ss 中获取已解析的样式表,但它不会绑定到任何DOM。如果仍然获得空样式表,则CSS代码或甚至解析器中可能存在错误。在这种情况下,我建议将此报告给jStyleParser forum at SourceForge。
如果要将样式定义分配给DOM( MyLocalFile 指向HTML文件),则应使用{{3>中描述的 assignDOM 方法。 }}。在这种情况下,您应该使用DOM解析器解析HTML文档,并使用 assignDOM 方法自动检索引用的样式表并计算元素样式。您可以在jStyleParser源包中的src / test / DOMAssign.java中找到一个示例。