我正在尝试读取HTML文件,并添加指向某些文本的链接:
例如:我想添加链接到“ Campaign0”文本。:
<td><p style="overflow: hidden; text-indent: 0px; "><span style="font-family: SansSerif;">101</span></p></td>
<td><p style="overflow: hidden; text-indent: 0px; "><span style="font-family: SansSerif;">Campaign0</span>
<td><p style="overflow: hidden; text-indent: 0px; "><span style="font-family: SansSerif;">unknown</span></p></td>
要添加的链接:
<a href="Second.html">
我需要一个Java程序来修改html,以在“ Campaign0 ” 上添加超链接。
我如何用Jsoup做到这一点?
我用JSoup尝试了这个:
File input = new File("D://First.html");
Document doc = Jsoup.parse(input, "UTF-8", "");
Element span = doc.select("span").first(); <-- this is only for first span tag :(
span.wrap("<a href="Second.html"></a>");
这样对吗 ??它不起作用:(
简而言之 :是否有类似->
if find <span>Campaign0</span>
then replace by <span><a href="">Campaign0</a></span>
在Java代码中使用JSoup或任何技术?
您的代码似乎非常正确。要使用“ 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>
我试图阅读一个超文本标记语言文件,并添加一些文本的链接: 例如:我想添加“活动0”文本的链接: 要添加的链接: 我需要一个JAVA程序,修改html添加超链接超过“0”。 我如何使用Jsoup实现这一点? 我用JSoup试过这个: 这是正确的吗??它不起作用:( 简言之:有类似的吗-- 在JAVA代码中使用JSoup或任何技术??
问题内容: 我想使用Java程序删除文件的某些内容,如下所示。这是在相同文件中替换的写方法,还是应将其复制到另一个文件。 但是它删除了文件的所有内容。 问题答案: 我将从关闭阅读器和刷新书写器开始:
问题内容: 我有这个元素: 我要做的就是在我的网页上进行更改。 可能吗? 问题答案: 试试这个:
每一个应用系统都离不开用户模块。用户模块除了提供登录之外,还允许用户查看自己的信息和进行修改。本实例将创建一个用户类,然后再创建一个测试类调用用户类,实现修改密码的功能。 本实例的用户类非常简单,仅包含用户名和密码两个属性。 创建 MemberTest 类实现修改密码的功能,即当用户输入的密码与原来密码相同时方可进行修改密码操作,否则提示用户输入的密码不正确。具体的实现代码如下: 如上述代码,在
我有一个映射,我正在遍历它,并使用循环修改映射的值。我想知道是否有一种方法可以使用Java8流来实现。 这是我的代码: 基本上,我想流化地图值,设置值,并将其作为新地图。
我正在尝试重构旧的SimpleFormController。我想用实际的成功视图和表单视图字符串替换getSuccessView()和gerFormView()调用。 我尝试的另一种方法是直接操纵身体作为一个整体。 这和第一个还有同样的汽车进口问题。除此之外,它添加了冗余的花括号,例如 会变成 因为它是简单的替换,最简单的方法是如下所示 由于我可以在修改修饰符、注释、方法名、注释等方面避免使用sp