2011-02-01 87 views
0

我在閱讀可能包含像&#160這樣的XML實體的文檔。將所有xml實體更改爲html

因爲我需要導出txt文件,所以我必須手動將實體從XML轉換爲文本。

正如你可以看到下面。

reader = new BufferedReader(new InputStreamReader(is, "utf-8")); 
while ((s = reader.readLine()) != null) { 
if (s.equals("&#160")) 
    s= " "; 
} 

由於有許多XML實體,我想將它們轉換所有文本像&#160 - >空間,並希望避免如果那麼,有沒有一種通用的方法來做到這一點?

+1

你的問題不明確。請顯示一些示例輸入和輸出。 – 2011-02-01 21:12:05

+0

我添加了一些更多的信息。謝謝! – Dejell 2011-02-01 21:20:23

回答

2

當你提取 數,你可以這樣做:

(new String(new byte[]{(byte)160}, "ISO-8859-1")). 

這裏有實體映射:HTML ISO-8859-1 Reference

1

我相信你在說什麼叫HTML(不是XML)解碼。有一個URLDecoder類爲URLs(這可能是你正在解碼)做到這一點。對於HTML解碼,Apache Commons中還有一個更普遍的類(在此question中指定)。

編輯:我沒有意識到HTML和XML轉義/實體之間的區別,謝謝澄清。從this question看來,Apache commons有一個解碼XML實體的庫,但是標準的Java庫沒有。

相關問題