XML換行符的問題

2021-06-25 15:02:44 字數 922 閱讀 7348

最近要完成乙個功能,將裝置中資料庫中的資料匯出成xml檔案,可以方便的用excel檢視。

主要的實現就是qt中的qxmlstreamwriter類。

其中有乙個功能就是要求excel中的單元格中的資料過多時,可以換行。一開始的**如下:

qxmlstreamwriter xmlwriter;

xmlwriter.writestartelement("data");

xmlwriter.writeattribute("ss:type",資料型別);

xmlwriter.writecharacters(資料1+「

」+資料2);

xmlwriter.writeendelement();        

原本以為只要加入了「

」換行符就可以了。但是writecharacters方法會把『&』字元轉義為"&",這樣就不會達到換行的效果。

修改之後的**為:

qxmlstreamwriter xmlwriter;

xmlwriter.writestartelement("data");

xmlwriter.writeattribute("ss:type",資料型別);

xmlwriter.writecharacters(資料1);

xmlwriter.writeentityreference(qstring("#x0a").tostring());

xmlwriter.writecharacters(資料2);

xmlwriter.writeendelement();  

writeentityreference方法會自動的在「#0xa」首加上『&』,在尾加上';',從而能達到換行的效果。

問題不是什麼大問題,但是讓我糾結了好久,希望能幫到遇到同樣問題的朋友。

目前只是想到了這個方法,如果哪位大神有更好的方法,請賜教。

換行符問題

今天,我總算搞清楚 回車 carriage return 和 換行 line feed 這兩個概念的來歷和區別了。在計算機還沒有出現之前,有一種叫做電傳打字機 teletype model 33 的玩意,每秒鐘可以打10個字元。但是它有乙個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個...

window git crlf lf 換行符問題

git config global core.autocrlf inputgit config global core.safecrlf true1 autocrlf引數說明 提交時轉換為lf,檢出時轉換為crlf git config global core.autocrlf true 提交時轉換...

git 換行問題 git 換行符問題

最近在windows下使用git,發現不時沒有修改過的檔案要提交,對比發現檔案全部修改,但找不到不一樣的地方,baidu後懷疑是換行符的問題,因為windows和linux的換行符不一樣,這個和git客戶端配置有關係,如果每個人客戶端配置不一樣同樣會出現該問題.關於不同系統的換行符問題 unix l...