當我用jdom解析一個xml文檔時,發現Document對象中有一些'\ r'字符丟失。當我用jdom解析一個xml文檔時,發現有一些' r'字符丟失了
例如: AA \ r \ NBB
分析之後,我發現財產「text'of元素 'b' 爲 'AA \ NBB'。
有誰知道爲什麼原來的'\ r'丟失。任何建議表示讚賞。
謝謝。
當我用jdom解析一個xml文檔時,發現Document對象中有一些'\ r'字符丟失。當我用jdom解析一個xml文檔時,發現有一些' r'字符丟失了
例如: AA \ r \ NBB
分析之後,我發現財產「text'of元素 'b' 爲 'AA \ NBB'。
有誰知道爲什麼原來的'\ r'丟失。任何建議表示讚賞。
謝謝。
XML規範要求行結束是歸一化由分析器到\ n,見section on line endings
作爲@superfell指出的,XML規範要求 XML解析器來正常化行結尾到'\n'
字符。
你能做些什麼呢?不是很多!
您可以使用其值爲或包含回車符的字符實體。我對normalization rules的閱讀是,它將變成標準化XML中的回車符。但是,這意味着你將不得不改變你的輸入XML。
您可以更改應用程序以使用適當的平臺特定的行結束符替換新行...從DOM中提取它們之後。
(你甚至可以改變XML來表示編碼形式的文本;例如,十六進制或Base64然而,這是非常醜陋的,並且違背了使用XML的目的)
其中,選項2似乎至少沒有吸引力...
感謝您的所有答案。另外,我發現當在Windows中通過Python讀取文件時,'\ r'字符也會丟失。 Python也做同樣的事情嗎? – woods 2011-05-18 06:13:48