2011-02-01 50 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库没有。

相关问题