0

HTML ファイルの一部の情報を変更する必要があり、JSOUP を使用して要素に到達することができました。ただし、次のスタイル要素を変更しようとしたときに問題に直面しました。

<style type="text/css">
#leftimage {
    background: #FFFCEF 
        url("/image1.jpg");
}

</style>

次のコードを使用しました

Element txt=doc.select("style").first();
String t=txt.data();
String s=" #leftimage { background: #FFFCEF url('/image1.jpg');}";
txt.data().replace(t, s);

しかし、何も変わっていません!これを行っても色が変わらないのはなぜですか?

4

1 に答える 1

0

Java の文字列は不変です。変更することはできません。あなたの場合、 replace() は既存のテキストを変更しませんが、新しいテキストを置き換えられたデータで返します(Javadocを読んでください)。

実際に何をしたいのかを見ると、replace を実行してもあまり意味がありません (実行する文字列内の t の出現を s に置き換えます)。基本的に要素のテキスト全体を置き換えたいので、次のようなことをする必要があるでしょう:

txt.text(" #leftimage { background: #FFFCEF url('/image1.jpg');}");
于 2011-06-27T00:44:50.260 に答える