2012-08-04 71 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

祝你好运!