У меня есть приложение, которое чувствительно к возврату каретки, являющемуся \r\n или \n. Я раздаю значение в XML и когда я анализирую его с помощью XDocument, значение возврата каретки преобразовывается в \n, и я пытаюсь найти способ сохранить сохраненным как \r\n.
string myVal = "1234\r\nabcd";
string xmlText = "<doc>" + myVal + "</doc>";
XDocument xDoc = XDocument.Parse(xmlText);
Console.WriteLine("result=" + (xDoc.Element("doc").Value == myVal));
Console.WriteLine("result=" + (xDoc.Element("doc").Value == myVal.Replace("\r\n", "\n")));
Результаты:
result=False
result=True
Передача LoadOptions.PreserveWhitespace в XDocument.Parse должна сохранить незначительные пробелы из содержимого сообщества внизу, но это не так.
Можете ли вы загрузить в XDocument вместо этого XmlReader? Это может предложить гораздо большую гибкость.