即使这是一个古老的问题,我也遇到了这个问题,并以与给定的答案不同的方式解决了它。也许对其他人有帮助。
我注意到即使我的XML文件看起来像:
<tag>
<subTag>content with newline.\r\nto display</subTag>
</tag>
当将其读入我的C#代码时,该字符串带有双反斜杠。
\\r\\n
为了解决这个问题,我编写了一个ValueConverter来去除多余的反斜杠。
public class XmlStringConverter : IValueConverter
{
public object Convert(
object value,
Type targetType,
object parameter,
CultureInfo culture)
{
string valueAsString = value as string;
if (string.IsNullOrEmpty(valueAsString))
{
return value;
}
valueAsString = valueAsString.Replace("\\r\\n", "\r\n");
return valueAsString;
}
public object ConvertBack(
object value,
Type targetType,
object parameter,
CultureInfo culture)
{
throw new NotImplementedException();
}
}