2012-08-04 60 views
1

我正在創建一個XML文件,其中的標籤的Innertext是\r\n如何在XML文件中使用特殊字符並正確讀取它?

它創建的很好。但是當我讀代碼隱藏這些XML文件\r\n被讀爲\n\n

我正在閱讀它通過XMLTextReader

這可能是什麼原因以及如何提供它?

+0

好吧,這將有助於看到代碼。 – Adam 2012-08-04 11:57:25

+0

@codesparkle:不幸的是我不能。 – 2012-08-04 11:59:16

回答

2

您需要對這些字符進行編碼才能保留它們。

一種方法是與相應的字符引用替換字符:

  • \n

  • \r

另一個之一將是附上需要保留空白部分在<![CDATA[]]>部分。

+0

像'str = str.Replace(「\ r」,「 」).Replace(「\ n」,「 」);' – 2012-08-04 12:07:40

+0

@NikhilAgrawal - 呃,你錯過了';'在每個字符引用,但這是一種方法。 – Oded 2012-08-04 12:08:31

+0

這樣?現在它是正確的嗎? – 2012-08-04 12:09:40

0

這個問題沒有提供足夠的細節來正確回答它。所以我會在這裏採取一些事情。

有幾件事情應該考慮:

  1. 你利用不同的區域設置?
  2. 什麼是XML文件的編碼?
  3. 什麼是系統的平臺編碼?
  4. 什麼是系統行分隔符?
  5. 您是否正在使用innertextxt強制從此XML文件構建的文檔中換行符?
  6. 您是否知道XML語言中的CDATA標籤?

這些問題可能會影響您的問題。但是,當重新閱讀您的問題時,我認爲您正在尋找的CDATA解決方案可以防止您的內部文本被XML解析器誤解。

我的猜測是將\r\n innertext換成CDATA標籤。在CDATA標籤

更多信息可以在這裏找到:CDATA

祝你好運!

相關問題