Html 如何向JTidy添加新标记?

Html 如何向JTidy添加新标记?,html,parsing,jtidy,Html,Parsing,Jtidy,我试图使用jTidy从(真实世界的)HTML中提取数据,但jTidy不解析自定义标记 <html> <body> <myCustomTag>some text</myCustomTag> <anotherCustom>more text</anotherCustom> </body> </html> 一些文本 更多文本 我无法在自定义标记之间获取文本。我必须使用jTidy

我试图使用jTidy从(真实世界的)HTML中提取数据,但jTidy不解析自定义标记

<html>
  <body>
    <myCustomTag>some text</myCustomTag>
    <anotherCustom>more text</anotherCustom>
  </body>
</html>

一些文本
更多文本
我无法在自定义标记之间获取文本。我必须使用jTidy,因为我将使用xpath

我尝试了HTMLCleaner,但它不支持完整的xpath函数。

请检查

创建一个文件,我将其命名为jTidyTags并调用:

Tidy tidy = new Tidy();
tidy.setConfigurationFromFile("jTidyTags");
之后,它会发出警告说它不符合W3C,但谁在乎呢。这将允许您解析该文件

jTidyTags的一个例子是:

new-blocklevel-tags: myCustomTag anotherCustom

希望这有帮助

您还可以使用Java属性对象设置属性,例如:

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

这将节省您创建和加载配置文件的时间。

你好,Ethan,thx回答。我尝试的第一件事是“新建块级标记”,但它不起作用。您是否尝试添加其他“新建-”标记?我现在没有我的密码。当我开始工作时,我会查看它。下面是我在代码中使用的确切行:新区块级别标签:条形码框行请参见