我有一个以字符串形式接收的 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/