您的代码似乎非常正确。要使用“ Campaign0”,“ Campaign1”等查找跨度元素,可以使用JSoup选择器“
span:containsOwn(Campaign0)”。见JSoup选择其他文档在jsoup.org。
找到元素并用链接包装它们之后,调用doc.html()应该返回修改后的HTML代码。这是一个工作示例:
input.html:
<table> <tr> <td><p><span>101</span></p></td> <td><p><span>Campaign0</span></p></td> <td><p><span>unknown</span></p></td> </tr> <tr> <td><p><span>101</span></p></td> <td><p><span>Campaign1</span></p></td> <td><p><span>unknown</span></p></td> </tr></table>
码:
File input = new File("input.html"); document doc = Jsoup.parse(input, "UTF-8", ""); Element span = doc.select("span:containsOwn(Campaign0)").first(); span.wrap("<a href="First.html"></a>"); span = doc.select("span:containsOwn(Campaign1)").first(); span.wrap("<a href="Second.html"></a>"); String html = doc.html(); BufferedWriter htmlWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("output.html"), "UTF-8")); htmlWriter.write(html); htmlWriter.close();输出:
<html> <head></head> <body> <table> <tbody> <tr> <td><p><span>101</span></p></td> <td><p><a href="First.html"><span>Campaign0</span></a></p></td> <td><p><span>unknown</span></p></td> </tr> <tr> <td><p><span>101</span></p></td> <td><p><a href="Second.html"><span>Campaign1</span></a></p></td> <td><p><span>unknown</span></p></td> </tr> </tbody> </table> </body></html>



