我需要解析大约 100 kB 的 HTML 数据,这只会导致 Android 上出现巨大的性能问题。我已经尝试了内置的 XML 解析器和 JTidy。
内置的 XML 解析器给我大约半秒的解析时间,我可以轻松接受。问题是使用 XML 解析器来解析凌乱的 HTML 代码不是一个好主意,这不是一个选项。 (我尝试过预处理,但它甚至开始提示有效的 HTML,所以...)
我在谷歌上搜索了一下,有人建议 JTidy 在将代码传递给 XML 解析器之前清理代码。这绝对是一场噩梦,使用 JTidy 进行预处理解析现在大约需要 7 秒。
所以现在我唯一的选择就是正则表达式。你怎么看?
最佳答案
这取决于您是否是 html 的所有者。
如果(据我所知)您不是 html 数据的所有者并且不能影响它的格式,那么您可能会发现此信息很有用:Parse HTML in Android
但是如果html真的很烂,结果就没法保证了。而且您更喜欢使用正则表达式。
即使浏览器在使用“错误”html 时也会切换到怪癖模式,但不能保证正确查看。
关于android - 在 Android 上解析 HTML,主要性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7906985/