2011-05-18 19 views
1

當我用jdom解析一個xml文檔時,發現Document對象中有一些'\ r'字符丟失。當我用jdom解析一個xml文檔時,發現有一些' r'字符丟失了

例如: AA \ r \ NBB

分析之後,我發現財產「text'of元素 'b' 爲 'AA \ NBB'。

有誰知道爲什麼原來的'\ r'丟失。任何建議表示讚賞。

謝謝。

+0

感謝您的所有答案。另外,我發現當在Windows中通過Python讀取文件時,'\ r'字符也會丟失。 Python也做同樣的事情嗎? – woods 2011-05-18 06:13:48

回答

2

作爲@superfell指出的,XML規範要求 XML解析器來正常化行結尾到'\n'字符。

你能做些什麼呢?不是很多!

  1. 您可以使用其值爲或包含回車符的字符實體。我對normalization rules的閱讀是,它將變成標準化XML中的回車符。但是,這意味着你將不得不改變你的輸入XML。

  2. 您可以更改應用程序以使用適當的平臺特定的行結束符替換新行...從DOM中提取它們之後。

  3. (你甚至可以改變XML來表示編碼形式的文本;例如,十六進制或Base64然而,這是非常醜陋的,並且違背了使用XML的目的)

其中,選項2似乎至少沒有吸引力...