2013-04-29 54 views
1

我將文本元素保存在XML文件中。在XML文件中,也有文本節點內換行如下存儲和檢索XML文件中的新行' n'

<text text="This is 
a new line." fontsize="20"> 

然而,當我加載XML文件,通過使用loadXMLDoc(),我用

textStr=textElem.getAttribute("text"); 
thisChar=textStr.charAt(i); 
console.log('thisChar='+thisChar+'='+thisChar.charCodeAt(0)); 

,看看是否「 \ n'字符已被保留,並發現它們已被空格替換。 (即thisChar.charCodeAt(0)的值爲32而不是值10.)

什麼是使用XML在文本元素中保存和檢索新行的最佳方法?

+1

換行符在PCDATA內容中被視爲未分化的空格。從某種意義上說,他們並不是真的在那裏。如果您需要存儲換行符,則可以將內容設置爲CDATA,或者使用某些顯式XML標籤來指示明確的換行符。 – Pointy 2013-04-29 16:58:42

+0

謝謝你的回覆。我決定採取後一種方法。 – OtagoHarbour 2013-04-29 18:41:38

回答

2

這不是一個文本節點,它是一個屬性節點。差異至關重要。在屬性中,空白是由XML解析器自動標準化的 - 細節取決於如何在DTD中描述屬性,但默認情況下換行符被空格替換。