2015-09-15 43 views
1

我正在使用Java和DOM讀取XML數據。當我向控制檯打印一個變量時,我發現它打印在兩條不同的線上。Java從XML中刪除字符

輸出:

Hello How are 
you today? 

當我去我想打印的基礎XML文檔的屬性,我注意到以下幾點:

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

如何去除字符&#xD;&#xA;來自Java中的屬性值?

如果從屬性的數據被存儲在名爲myVar的爪哇字符串變量,我嘗試以下不成功:

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

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

} 
+0

嘗試替換\ r和\ n。 –

回答

0

replaceAll("\\s+", " ")可以工作,但replaceAll("\r\n", " ")也一樣。另一方面,"\n\r"作爲replaceAll的第一個參數不起作用。

1

&#xD;&#xA;這是嵌入在XML換行,這可能是轉換成字符爲0xD java中的0xA(13 10)。因此,對於該模式,請使用「\ n \ r」或使用「\ s +」 - >「」

+0

如果他使用'replaceAll',他應該使用''\\ s +「',因爲它需要一個正則表達式作爲它的第一個參數。使用'「s +」'只會替換一個或多個s字符的實例。 –

+0

謝謝好點! – ControlAltDel

+0

「\\ s +」爲我工作!相信兩者。 – pseudorandom