2011-12-13 16 views
5

私は、次の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>; 

を持っていると私は私が唯一elem.html("foo")とインナーHTMLを置き換えるプロパティまたはouterHTMLを印刷することができjsoupとの最初のリンクを見つけて、テキスト

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

とそれを交換したいですelem.outerHtml()

私はこれをどのように達成できるか知っていますか?

答えて

13

答えが見つかりました!

TextNode text = new TextNode("foo", ""); 
elem.replaceWith(text); 
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> 

私はまだURL要素の内容を交換するための正確な方法を知っているドント。

I'dは、結果として、持っていたい:

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

私は中間にあるのhrefを消去する方法coul'd?

+0

私が正しくしていなかったことは、間違った要素を扱うことでした。今まで私が見つけた最良の方法は、すべての要素をループすることです。ネストされたループは、まだ正確なものを見つけられない場合に役立ちます。たとえば、次のようになります。 for(Element elem:contElems){ if(elem.id()!= "")System.out.println(elem.id()); \t 要素contElems1 = contElems.select( "href、a [href]、a [data-href]、リンク[href]、a [title]"); (エレメントelem1:contElems1)のための は //(または/および){ //ここで コードを入れて}私は上記のコメントに改行を入れる方法を知ってもらうわけではない、ここで } –

+0

コードを入れて... –

関連する問題