在java中从文档中删除html标签的最快方法是什么?

时间:2012-01-03 10:25:12

标签: java html-parsing jsoup html htmlcleaner

我有大量的网络文档,想要从中删除html标签。我在StackOverflow上看到了一些关于如何在java中做的帖子,从regex到HtmlCleaner和Jsoup。

我有兴趣找到最快的方法。我有数百万份文档,因此在我的情况下,性能至关重要。我甚至可以为表现换取一点质量。

提前感谢您的任何答案。

3 个答案:

答案 0 :(得分:1)

我的意见是尽可能多地使用流/ SAX处理: 1)因为它使用较少的内存 2)它很快 3)可以更容易并行化(低内存消耗的结果)

在您拥有数百万份文件的用例中,需要(从我的pov)这些因素。 请看那里Wikipedia SAX

因此,如果你的Html是严格的或XHTML。使用XSLT,这是一个关于如何使用SAX XSLT+SAX+Java转换XML(XHTML)的tuto。

最后,如果您没有XML有效的HTML,请查看使用stream(和PushBackReader)的Java: Replace Strings in Streams, Arrays, Files etc.

HTH

答案 1 :(得分:0)

1)如果html是正确的xml,那么你可以创建它的文档对象并删除节点。

2)如果它不合适xml则将整个html读成字符串&并使用replace函数删除“html”sunbstring。

如果HTMl不是正确的xml,那么正则表达式是在字符串中替换的最快方法。

答案 2 :(得分:0)

似乎java regexp是最快的解决方案。但是,它会降低之后获得的文本的质量。