2011-06-26 63 views
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); 

,但什麼都沒有改變:不過,我想修改下面的樣式元素時面臨的一個問題!我這樣做的時候爲什麼不改變顏色?

回答

0

Java中的字符串是不可變的。你不能改變它。在你的情況下,replace()不會改變現有文本,而是用替換後的數據返回新文本(讀取它的Javadoc)。

實際上看着你想做什麼,運行replace也沒有太大意義(它會在你運行它的字符串中用s代替任何t的發生)。您基本上想要替換元素的全部文本,因此您很可能需要執行類似操作:

txt.text(" #leftimage { background: #FFFCEF url('/image1.jpg');}");