java - JSoup 忽略关闭 <link> 标签

标签 java jsoup

我有一个以字符串形式接收的 HTML 文档,然后我使用 jSoup 解析它。 此 HTML 文档(以字符串形式)包含 <link>标签如下 -

<link rel="stylesheet" href="css/bootstrap.css" />

这就是我解析它的方式-

Document doc = Jsoup.parse(html);

哪里html是字符串形式的 HTML 文档。

当我打印 doc 时解析后, 除了 <link> 之外,一切都保持不变标签变为 -

  <link rel="stylesheet" href="css/bootstrap.css"> 

请注意这里没有结束斜杠。 另请注意,如果原始字符串包含 <link>以下形式的标记 -

<link rel="stylesheet" href="css/bootstrap.css"></link>

结果还是一样,即<link rel="stylesheet" href="css/bootstrap.css"> 为什么 Jsoup 这样做,我该如何防止这种情况发生?

谢谢!

最佳答案

根据HTML5 spec on the <link> element:

Tag omission in text/html:
No end tag.

所以规范说不应该有结束标签。该规范允许结束标记使元素无效,但这不是默认设置。我猜 Jsoup 遵循 HTML 规范。

关于java - JSoup 忽略关闭 <link> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29622655/

相关文章:

java - 打印 java 类中所有字段值的最佳方法是什么

java - WebView中的loadDataWithBaseURL是如何处理cookies的?

java - 在 Jsoup 中,是否可以从元素列表中获取元素而无需遍历它?

Jsoup Element.wrap(String html) 方法抛出 NullPointerException

java - 使用 Jsoup 获取图片地址

java - JDialog 与 WindowStateListener

java - PBE : Verify password before attempting to decrypt

java - 保存和恢复ArrayList

android - 使用 Jsoup 取消引用 URI 时应用程序崩溃

java - 对具有任意属性的 HTML 文件的限制