我一直在使用JSoup來解析歌詞,它一直很好,直到現在,但遇到了問題。刪除HTML實體,同時保留與JSoup的換行
我可以用Node.html()
返回所需的節點,它保留線的完整的HTML打破這樣:
Glóandi augu, silfurnátt
<br />Blóð alvöru, starir á
<br />Óður hundur er í vígamóð, í maga... mér
<br />
<br />Kolniður gref, kvik sem dreg hér
<br />Kolniður svart, hvergi bjart né
但不幸的副作用,你可以看到,保留HTML實體,並標籤。
但是,如果我用Node.text()
,我能得到一個更好看的結果,自由的標籤和實體:
Glóandi augu, silfurnátt Blóð alvöru, starir á Óður hundur er í vígamóð, í maga... mér Kolniður gref, kvik sem dreg hér Kolniður svart,
其中有去除換行符和壓縮成一條線的另一個不幸的副作用。
在調用Node.text()
產生相同的結果之前,只需從節點中替換<br />
即可,並且似乎該方法正在將文本壓縮到方法本身的一行中,忽略換行符。
是否有可能擁有兩全其美的世界,並且標籤和實體能夠正確替換以保留換行符,還是有另一種方法或方法來解碼實體並刪除標籤而無需手動替換它們?
使用TextNode.createFromEncoded(歌詞,「aURI」);從HTML創建TextNode,然後使用getWholeText()獲取文本本身。它完全保留
,但完全替換了實體,並且我可以手動替換最小的HTML標記,所以謝謝:) – joshschreuder 2011-03-18 11:32:36
應該提到我確實已經讀過API,但我明顯錯過了您指出的功能。 – joshschreuder 2011-03-18 12:58:32