我试图每小时获得一个项目状态和电子邮件(Html格式)以及过去4小时的数据。我没有db来存储那些过去的值,所以我计划将它们存储在HTML文件本身中。
我有代码将html文件内容作为字符串获取,但我需要帮助删除HTML表格中最底部的行并将新值附加到第一行,因为我只需要发送过去5小时的报告。因此,虽然发送下午7点报告<tr><td>19-Mar 7.00 PM</td> <td>4</td> <td>31</td> <td>50181</td> <td>555</td></tr>
应添加在<!--$NewRow to be inserted here$-->
地方的代码和<!--$ToBeRemoved_Start$-->
and qazxswpo之间的文本应删除。
我也知道它可以通过获取注释标记的索引值并在html中使用replace,append,concatenate来实现,但是我需要知道是否有一种简单的方法可以使用像jsoup等一些lib来实现它。 。 请让我知道你的想法。
<!--$ToBeRemoved_End$-->
HtmlCodeBelow:
public String getHTML_String() {
StringBuilder contentBuilder = new StringBuilder();
try {
BufferedReader in = new BufferedReader(new FileReader("emailOutput.html"));
String str;
while ((str = in.readLine()) != null) {
contentBuilder.append(str);
}
in.close();
} catch (IOException e) {
}
return contentBuilder.toString();
}
使用JSoup实现这一点非常简单,因为:
可以使用以下代码来完成它。为清晰起见,添加了评
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Api Report</title>
<style>
table {
font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;
}
td,
th {
border: 1px solid #dddddd;
text-align: left;
padding: 8px;
}
tr:nth-child(even) {
background-color: #dddddd;
}
</style>
</head>
<body>
<h2>Content Api</h2>
<table>
<tr>
<th>Date Time</th>
<th>Col1</th>
<th>Col2</th>
<th>Col3</th>
<th>Col4</th>
</tr>
<!--$NewRow to be inserted here$-->
<tr>
<td>19-Mar 6.00 PM</td>
<td>1.22%</td>
<td>24.75%</td>
<td>4.71 ms</td>
<td>7.67</td>
</tr>
<tr>
<td>19-Mar 5.00 PM</td>
<td>1.22%</td>
<td>24.75%</td>
<td>4.71 ms</td>
<td>8.67</td>
</tr>
<tr>
<td>19-Mar 4.00 PM</td>
<td>1.22%</td>
<td>24.75%</td>
<td>4.71 ms</td>
<td>7.67</td>
</tr>
<tr>
<td>19-Mar 3.00 PM</td>
<td>1.22%</td>
<td>24.75%</td>
<td>4.71 ms</td>
<td>7.67</td>
</tr>
<!--$ToBeRemoved_Start$-->
<tr>
<td>19-Mar 2.00 PM</td>
<td>1.22%</td>
<td>24.75%</td>
<td>4.71 ms</td>
<td>7.67</td>
</tr>
<!--$ToBeRemoved_End$-->
</table>
</body>
</html>