如何更换元素?

时间:2011-12-13 13:51:03

标签: java jsoup

我有以下HTML

<html>
<head>
  <title>test</title>

</head>
<body>
  <table>
  <caption>table title and/or explanatory text</caption>
  <thead>
  <tr>
  <th>header</th>
</tr>
</thead>
<tbody>
      <tr>
      <td id=\"test\" width=\"272\"></td>
</tr>
</tbody>
</table>
<a href=\"http://www.google.fi\" style=\"color:black\">Test link</a>
<a href=\"http://www.google.fi\"><img src=\"http://www.google.se/images/nav_logo95.png\" /></a>"
</body> 
</html>;

我想找到jsoup的第一个链接,并将其替换为文本

Element elem = page.select("a[href=" + link.getUrl() + "]:contains(" + link.getName() + ")").first();

我只能用elem.html("foo")替换内部HTML或用elem.outerHtml()打印outerHtml

有谁知道我怎么做到这一点?

2 个答案:

答案 0 :(得分:14)

我找到了答案!

TextNode text = new TextNode("foo", "");
elem.replaceWith(text);

答案 1 :(得分:0)

找到要使用的元素后,您可以应用如下所述的命令:http://jsoup.org/cookbook/modifying-data/set-html

我无法做对。我正在尝试这个:

elemento.prepend("<a href='www.test.com'>");    
elemento.html("Roberto C. Santos.");                
elemento.append("</a>");
elemento.wrap("<a href='www.test.com'> </a>");  

但我得到了这个:

<td><a href="www.test.com"> <a style="" target="_self" title="" href="http://ivv.veveivv.vvzenes.com.br/mao/ara/ccacao" data-mce-href="resolveuid/5cc1c7c8c9efcacaaeedec22a9c69a54" class="internal-link">Roberto C. Santos.</a></a></td>
  </tr>

我仍然不知道交换网址元素内容的确切方法。

我希望得到结果:

<a href='www.test.com'> Roberto C. Santos.</a>" 

我如何擦除中间的href?