Java从XML中删除字符

时间:2015-09-15 17:12:39

标签: java xml dom escaping

我正在使用Java和DOM读取XML数据。当我将一个变量打印到控制台时,我注意到它打印在两个不同的行上。

输出:

Hello How are
you today?

当我转到属性我试图打印基础XML文档时,我注意到以下内容:

<element attribute = "Hello How are&#xD;&#xA;you today?"></element>

如何从Java中的属性值中删除字符&#xD;&#xA;

如果来自属性的数据存储在名为myVar的Java String变量中,我尝试了以下失败:

if(myVar.contains("&#xD;&#xA;")){

    myVar = myVar.replaceAll("&#xD;&#xA;", " ");

}

2 个答案:

答案 0 :(得分:2)

&#xD;&#xA;这是嵌入在XML中的换行符,可能在java中转换为字符0xD 0xA(13 10)。因此对于模式,要么使用“\ n \ r”,要么使用“\ s +” - &gt; “”

答案 1 :(得分:1)

replaceAll("\\s+", " ")工作但replaceAll("\r\n", " ")也一样。另一方面,"\n\r"作为replaceAll的第一个参数不起作用。