【问题标题】:Jsoup html parsing not taking TR, TD elementsJsoup html解析不采用TR,TD元素
【发布时间】:2014-03-18 21:24:50
【问题描述】:

我有一个包含 HTML 内容的平面文件。我正在尝试从中读取文本并从中解析 HTML 内容。我正在使用 jsoup 来实现这个功能。

我的示例字符串:

  <tr>
     <td><font color="#6C2DC7">Platform</td>
     <td><font color="RED" TITLE='n7k_reg_adxl07_2nd0'>aclxl</td>
     <td><font color="RED">0.0</td>
     <td><a href="http://wwwinearmstools.cisco.com/logs/viewfile.php?files[]=/auto/earmsdata/Earms/testlog-new/20079/88/89-1/report">200798889-1</a></td>
     <td><font color="GREEN">0</td>
     <td><font color="RED" title='Aborted: 0 Blocked: 0 Skipped: 0 Errored: 0'>1</td>
     <td><font color="#7D2252">&nbsp;</td>
     <td><font color="#827839">&nbsp;</td>

不幸的是,它无法正确解析,否则我无法使用任何 API 方法来提取内容。它的解析如下:

<html>
<head></head>
<body>
<font color="#6C2DC7">Platform<font color="RED" title="n7k_xb45_F3100G_2nd0">qos_100G_FLK_xb_sup3<font color="RED">73.01<a href="http://wwwin-earmstools.cisco.com/logs/viewfile.php?files[]=/auto/earmsdata/Earms/testlog-new/20076/79/43-1/report">200767943-1</a><font color="GREEN">238<font color="RED" title="Aborted: 0 Blocked: 0 Skipped: 0 Errored: 0">88<font color="#7D2252">&nbsp;<font color="#827839">&nbsp;</font></font></font></font></font></font></font>
</body>
</html>

这有什么问题。如何才能获取 TR、TD 元素并继续使用 jsoup 方法来提取我需要的内容。

示例代码:

String html = "<html><body><tr><td><font color=\"#6C2DC7\">Platform</td><td><font color=\"RED\" TITLE='n7k_xb45_F3100G_2nd0'>qos_100G_FLK_xb_sup3</td><td><font color=\"RED\">73.01</td><td><a href=\"http://wwwin-earmstools.cisco.com/logs/viewfile.php?files[]=/auto/earmsdata/Earms/testlog-new/20076/79/43-1/report\">200767943-1</a></td><td><font color=\"GREEN\">238</td><td><font color=\"RED\" title='Aborted: 0 Blocked: 0 Skipped: 0 Errored: 0'>88</td><td><font color=\"#7D2252\">&nbsp;</td><td><font color=\"#827839\">&nbsp;</td></tr></body></html>";
String charSet = "ISO-8859-1";
Document innerHtml = Jsoup.parse(html,charSet);

【问题讨论】:

  • @Reimeus 请立即查看。我的错。我忘记添加代码了。

标签: java html jsoup


【解决方案1】:

TRTD 是 HTML 表格标签,但您的输入 HTML 确实包含任何 &lt;table&gt; 标签,因此标签本身会被 JSoup 忽略,所以只需添加这些标签

String html = "<html><body><table>...</table></body></html>";

如果你不能添加标签,那么它作为 HTML 是无效的,所以需要被解析为XML

【讨论】:

  • 谢谢!!它现在工作正常。我错过了这样一个基本的东西。这些文件由外部服务提供。我会在解析时添加这些标签。
猜你喜欢
  • 2012-06-13
  • 2016-04-18
  • 2015-01-03
  • 2016-08-13
  • 1970-01-01
  • 2012-04-18
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
相关资源
最近更新 更多