Как заменить элемент? - PullRequest
       6

Как заменить элемент?

6 голосов
/ 13 декабря 2011

У меня есть следующий 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();

Я могу только заменить внутренний HTML на elem.html("foo") или напечатать externalHtml на elem.outerHtml()

Кто-нибудь знает, как мне этого добиться?

Ответы [ 2 ]

14 голосов
/ 13 декабря 2011

Я нашел ответ!

TextNode text = new TextNode("foo", "");
elem.replaceWith(text);
0 голосов
/ 28 февраля 2015

Как только вы нашли элемент, с которым хотите работать, вы можете применить команды, такие как объясненные здесь: 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>

Я до сих пор не знаю точный способ обмена содержимым элемента URL.

Я хотел бы получить, как результат:

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

Как я могу стереть промежуточный раздел?

...