我正在尝试使用jTidy从(现实世界)HTML中提取数据。但是jTidy不解析自定义标记。
<html>
<body>
<myCustomTag>some text</myCustomTag>
<anotherCustom>more text</anotherCustom>
</body>
</html>
我无法在自定义标签之间获取文本。我必须使用jTidy,因为我将使用xpath。
我尝试过HTMLCleaner,但它不支持完整的xpath函数。
您还可以使用Java properties对象设置属性,例如:
import java.util.Properties;
Properties oProps = new Properties();
oProps.setProperty("new-blocklevel-tags", "header hgroup article footer nav");
Tidy tidy = new Tidy();
tidy.setConfigurationFromProps(oProps);
这将节省您创建和加载配置文件的时间。
退房http://tidy.sourceforge.net/docs/quickref.html#new-块级标签
它的快速和肮脏之处在于创建一个文件,我将其命名为jTidyTags并调用:
Tidy tidy = new Tidy();
tidy.setConfigurationFromFile("jTidyTags");
之后,它会发出警告,说它不符合W3C,但谁在乎呢。这将允许您解析文件。
jTidyTags的一个例子是:
new-blocklevel-tags: myCustomTag anotherCustom
希望这能有所帮助!