[JSOUP]为什么1.6.x删除TD标签,升级到1.6.x时出现问题

发布于 2024-11-30 14:46:47 字数 633 浏览 0 评论 0原文

System.out.println(Jsoup.parseBodyFragment("<td>123</td>").html());

jsoup 1.5.2 输出:

<html>
 <head></head>
 <body>
  <table>
   <tbody>
    <tr>
     <td>123</td>
    </tr>
   </tbody>
  </table>
 </body>
</html>

jsoup 1.6.x(1.6.0 和 1.6.1)输出:

<html>
 <head></head>
 <body>
  123
 </body>
</html>

为什么 1.6.x 删除 TD 标签?

如何在 1.6.x 中获取 jsoup 1.5.x 输出?

System.out.println(Jsoup.parseBodyFragment("<td>123</td>").html());

jsoup 1.5.2 OUTPUT:

<html>
 <head></head>
 <body>
  <table>
   <tbody>
    <tr>
     <td>123</td>
    </tr>
   </tbody>
  </table>
 </body>
</html>

jsoup 1.6.x (1.6.0 and 1.6.1) OUTPUT:

<html>
 <head></head>
 <body>
  123
 </body>
</html>

why 1.6.x remove TD tags?

how can I get jsoup 1.5.x OUTPUT in 1.6.x?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

国产ˉ祖宗 2024-12-07 14:46:47

在 jsoup 1.6 中,我重写了 HTML 解析器来实现 whatwg HTML 规范,它与浏览器当前解析 HTML 的方式相匹配。

这里的影响是,在 1.5 中, 足以自动激活 ;然而浏览器实际上并不是这样工作的,因此在 1.6 中您需要更新 HTML 输入以引入

标记。

例如:

System.out.println(
  Jsoup.parseBodyFragment("<table><td>123</td></table>").html());

将生成:

<html>
 <head></head>
 <body>
  <table>
   <tbody>
    <tr>
     <td>123</td>
    </tr>
   </tbody>
  </table>
 </body>
</html>

请注意,

被标准化为

...< /代码>。

希望这有帮助!

In jsoup 1.6 I have rewritten the HTML parser to implement the whatwg HTML spec, which matches how browsers currently parse HTML.

The impact here is that in 1.5, a <td> was enough to auto-vivify a <table>; however browsers don't actually work that way, so in 1.6 you'll need to update your HTML input to introduce the <table> tag.

For example:

System.out.println(
  Jsoup.parseBodyFragment("<table><td>123</td></table>").html());

will produce:

<html>
 <head></head>
 <body>
  <table>
   <tbody>
    <tr>
     <td>123</td>
    </tr>
   </tbody>
  </table>
 </body>
</html>

Note that the <table><td> gets normalised to <table><tbody><tr><td>....

Hope this helps!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文