格式错误的XML / HTML解析

时间:2011-08-26 19:46:04

标签: java html dom xhtml jtidy

我需要解析多个(大约读取1600个)HTML页面,并从每个文件中提取以下标记的内容。

    textarea name="line" cols="66" rows="5" class="textbox" id="line" style="font-size:12px;" onkeydown="textCounter()" onkeyup="textCounter(); storeCaret(this);" onselect="storeCaret(this);" onclick="storeCaret(this);">TEXT I WANT IS HERE

(这实际上是一个html textarea标签) 我曾经以为我可以使用DOMparser,但文件包含太多错误,所以我遇到了JTidy,来自stackoverflow上的另一个问题,我试图使用它......

但是,似乎无法将html从任何页面转换为XHTML,因此我可以使用DOM解析器。

然后我认为我可以使用正则表达式,但我无法找到拉动该文本所需的特定表达式,而且我还遇到了多个问题/答案,其中说不使用正则表达式来解析HTML ...

所以基本上我的问题是还有其他方法可以从格式错误的HTML获取我需要的文本吗?

1 个答案:

答案 0 :(得分:1)

您应该可以直接使用JTidy解析文档,而无需将其转换为XHTML。我曾经多次在一段时间内做过这件事,但它对我来说很好用而且HTML很难看。

编辑:我在上次需要解析HTML文件时看到的另一个选项是TagSoup。由于其GPL许可证,我无法在商业产品中使用它,但如果您只是需要此功能作为内部工具,它可能适合您