当前位置: 首页 > 知识库问答 >
问题:

转换 html 行时缺少 JSOUP 标记

龙令雪
2023-03-14

我在jsoup中遇到了一个问题,我希望获得一行数据,稍后我将把该行插入另一个html文档中。但当我检查时,时间发现没有和标签。我该怎么解决呢

String htmlcontent = "<tr><td colspan=\"2\"><div class=\"content-wrapper\"><p><strong><span class=\"CLASS 1 CLASS 2 CLASS 3\">123</span></strong><br /><strong>DATA 1</strong></p></td><td></td><td></td><td></td><td></td></tr>";


Document docnewinput = Jsoup.parse(htmlcontent, "UTF-8");

[<html>
 <head></head>
 <body>
  <div class="content-wrapper">
   <p><strong><span class="CLASS 1 CLASS 2 CLASS 3">123</span></strong><br><strong>DATA 1</strong></p>
  </div>
 </body>
</html>]

共有2个答案

上官华池
2023-03-14

需要使用xmlParser(),这样它就可以直接读取字符串,而不用格式化它。

司寇昱
2023-03-14

你有一个主体HTML的片段(例如,一个包含几个p标签的div而不是完整的HTML文档)。

使用Jsoup.parseBodyFragment(String html)方法。

String html = "<table><tr><td colspan=\"2\"><div class=\"content-wrapper\"><p><strong><span class=\"CLASS 1 CLASS 2 CLASS 3\">123</span></strong><br /><strong>DATA 1</strong></p></td><td></td><td></td><td></td><td></td></tr></table>";
Document doc = Jsoup.parseBodyFragment(html);

parseBodyFragment 方法创建一个空的 shell 文档,并将解析的 HTML 插入到 body 元素中。如果您使用普通的 Jsoup.parse(String html) 方法,通常会得到相同的结果,但显式地将输入视为正文片段可确保用户提供的任何 bozo HTML 都被解析为 body 元素。

解析器将尽一切努力从您提供的HTML创建一个干净的解析,而不管HTML是否格式良好。它处理:未关闭的标签<code>(例如。

编辑:

通过使用 Jsoup.parse():

String html = "<table><tr><td colspan=\"2\"><div class=\"content-wrapper\"><p><strong><span class=\"CLASS 1 CLASS 2 CLASS 3\">123</span></strong><br /><strong>DATA 1</strong></p></td><td></td><td></td><td></td><td></td></tr></table>";
Document doc = Jsoup.parse(html);

工作演示:https://try.jsoup.org/~EdJSrHl_ biDcQkyhL2BLH5ZNnck

 类似资料:
  • 这是我的密码 我想替换字体标签,并把span标签。在这将取代第一个字体标签但不是第二个标签

  • 在少数情况下,我会传递JSON,其中包含用户执行某些操作的页面url。该页面url将有那些查询字符串部分,我需要为用户重定向到相同的页面时,从我的应用程序要求。我的JSON会像 但是当我通过运行这个json时,我看到

  • 问题内容: 我有以下代码: 结果是: 但我想打破界限: 我已经看过jsoup的TextNode#getWholeText(),但是我不知道如何使用它。 如果我解析的标记中有一个,如何在结果输出中换行? 问题答案: 保留换行符的真正解决方案应该是这样的: 满足以下要求: 如果原始html包含换行符(\ n),则保留它 如果原始html包含br或p标签,它们将被翻译为换行符(\ n)。

  • 我有一个超文本标记语言的非常简单的表格,其中包含12列。我试图使用iText 5.1.1(Java)将其转换为PDF。 我的问题是,PDF输出中的表格换行了。我的意思是,它显示第一行,但在页面的末尾换行,然后没有换行符或任何东西,它只显示紧接在前一行的最后一个单元格之后的下一行。 如何使iText的HtmlWorker “nowrap”我的表格,即在PDF中显示一行? 顺便说一句,我仍然希望单元格

  • 什么是正确的方法来删除只有HTML标签(保留所有自定义/未知的标签)与JSOUP(不是正则表达式)? 预期输入: 预期产出: 我尝试使用白名单清洁剂。none(),但它也会删除自定义标记。 我也尝试过: 但是它也删除了自定义标签。 这个答案对我不好,因为自定义标记的数量是无限的。

  • 我实际上正在用Java开发一个文本解析器,有人要求我通过用它解析HTML来增强它。解析器的目的是将被解析的文件分成另外三个文件,一个包含文件中包含的所有单词,一个包括所有句子,另一个包含所有问题。 *.txt部分工作得很好,但我在解析HTML时遇到了一个问题。 我创建了一个扩展名为*.txt的临时文件,并将其在我的文本解析器中传递,但是如果我传递一个带有HTML文件链接的URL,其格式如下所示: