我需要解析大约100 kB的HTML数据,这只会在Android上造成巨大的性能问题。我已经尝试了内置的XML解析器和JTidy。
内置的XML解析器为我提供了大约半秒的解析时间,我可以很容易地使用它。问题是使用XML解析器来解析凌乱的HTML代码是个坏主意,这不是一个选择。 (我尝试过预处理,但它甚至开始抱怨有效的HTML,所以......)
我google了一下,建议JTidy在将代码传递给XML解析器之前清理代码。这是一个绝对的噩梦,JTidy用于预处理解析现在需要大约 7秒。
所以现在我唯一的选择就是正则表达式。你觉得怎么样?
答案 0 :(得分:0)
这取决于你是否是html的拥有者。
如果(据我所知)您不是html数据的所有者且无法影响其格式,那么您可能会发现此信息非常有用:Parse HTML in Android
但是如果html真的很糟糕,结果就无法保证。你更喜欢使用正则表达式。
甚至浏览器在处理“坏”html时也会切换到怪异模式,而不保证正确查看。