当前位置: 首页 > 面试题库 >

JSoup使用未关闭的标签解析无效的HTML

章越
2023-03-14
问题内容

使用最新的JSoup 1.7.2版存在一个错误,该错误分析带有 未关闭标签的* 无效 HTML 。 *

例:

String tmp = "<a href='www.google.com'>Link<p>Error link</a>";
Jsoup.parse(tmp);

生成的文档为:

<html>
 <head></head>
 <body>
  <a href="www.google.com">Link</a>
  <p><a>Error link</a></p>
 </body>
</html>

浏览器将生成如下内容:

<html>
 <head></head>
 <body>
  <a href="www.google.com">Link</a>
  <p><a href="www.google.com">Error link</a></p>
 </body>
</html>

Jsoup应该用作浏览器或源代码。

有什么解决办法吗?调查API我什么也没找到。


问题答案:

正确的行为是在解析此无效的HTML时充当其他浏览器。感谢您提交此错误。我已解决了阻止采用机构将原始属性保留在新节点中的问题。它将在1.7.3中可用,或者您可以立即构建。



 类似资料:
  • 问题内容: 每当我们从数据库或类似来源获取一些用户输入的内容并进行一些编辑时,我们都可能会检索仅包含开始标记但没有结束标记的部分。 这可能会妨碍网站的当前布局。 有客户端或服务器端的方法可以解决此问题吗? 问题答案: 找到了一个很好的答案: 使用PHP 5并使用DOMDocument对象的loadHTML()方法。此自动解析格式错误的HTML,随后对saveXML()的调用将输出有效的HTML。D

  • 我有一个作为字符串接收的HTML文档,然后使用jSoup解析它。此HTML文档(字符串形式)包含

  • 问题内容: 在大多数情况下,使用jsoup解析XML都没有问题。但是,如果有XML文档中的标签,jsoup将改变到。这样就无法使用CSS选择器提取标签内的文本。 那么如何防止jsoup“清除” 标签呢? 问题答案: 在jsoup 1.6.2中, 我添加了XML解析器模式,该模式可以按原样解析输入,而无需应用HTML5解析规则(元素内容,文档结构等)。此模式将文本保留在标签中,并允许其倍数等。 这是

  • 我在Android系统中遇到了两天的问题..我无法从URL解析HTML页面..我尝试了很多方法,我得到了Jsoup作为简单的方法…这是我的剧本: 但是,当我运行这个脚本时,它变得很接近…我只是不知道有什么问题..我在这里看到了教程:http://jsoup.org/cookbook/input/load-document-from-url 如有任何帮助,我们将不胜感激。

  • 我正在尝试解析

  • 我试图从这些div标签中获取文本,但是它们都不返回任何内容: HTML: 我想得到div类“消息”和h4标记和跨越“日期时间”中的文本,我试图: 和: 但是他们没有成功。