我正在使用 nekohtml 解析器来解析我的 html 代码。有时我在使用 anchor 标记时犯了这样的错误,内容是这样写的。
<a href="http://abc.com"><a href="http://abc.com">abc</a></a>
解析完 nekohtml 后,我希望内容像这样更正。
<a href="http://abc.com"></a><a href="http://abc.com">abc</a>
要实现此目的,请帮助配置 nekohtml 解析。
更新:
在我尝试设置为
之后parser.setFeature(“http://cyberneko.org/html/features/balance-tags”, true );
这没有用。我没有给出我预期的结果。它返回与我给定的相同的 html 内容
最佳答案
需要设置一个 balance-tags
功能,指定 NekoHTML 解析器是否应尝试平衡已解析文档中的标签。
config.setFeature( "http://cyberneko.org/html/features/balance-tags", true );
来自文档:
- 平衡标签可以通过添加缺失的父元素、使用可选结束标签自动关闭元素以及更正不平衡的内联元素标签来修复许多常见错误。为了将 HTML 文档作为 XML 进行处理,不应关闭此功能。此功能是为了增强性能而提供的,适用于仅关心特定元素、属性和/或内容的外观而不管文档的格式不正确的结构的应用程序。
关于java - 如何配置 nekohtml 解析器以正确关闭 anchor 标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7750029/