Как сохранить возврат каретки при разборе XML

Я ищу в интернете как сохранить возврат каретки из XML данных, но не смог найти ответ, поэтому я здесь :)

Задача состоит в том, чтобы записать в файл содержимое XML данных. Так, если значение узла содержит некоторые "\r\n" данные, soft должен записать их в файл, чтобы создать новую строку, но он не записывает, даже с пробелом:preserve.

Вот мой тестовый класс:

XElement xRootNode = new XElement("DOCS");
XElement xData = null;

//XNamespace ns = XNamespace.Xml;
//XAttribute spacePreserve = new XAttribute(ns+"space", "preserve");
//xRootNode.Add(spacePreserve);

xData = new XElement("DOC");
xData.Add(new XAttribute("FILENAME", "c:\\titi\\prout.txt"));
xData.Add(new XAttribute("MODE", "APPEND"));
xData.Add("Hi my name is Baptiste\r\nI'm a lazy boy");

xRootNode.Add(xData);

bool result = Tools.writeToFile(xRootNode.ToString());

А вот мой класс процесса:

try
{
    XElement xRootNode = XElement.Parse(xmlInputFiles);
    String filename = xRootNode.Element(xNodeDoc).Attribute(xAttributeFilename).Value.ToString();
    Boolean mode = false;
    try
    {
         mode = xRootNode.Element(xNodeDoc).Attribute(xWriteMode).Value.ToString().ToUpper().Equals(xWriteModeAppend);
    }
    catch (Exception e)
    {
         mode = false;
    }

    String value = xRootNode.Element(xNodeDoc).Value;
    StreamWriter destFile = new StreamWriter(filename, mode, System.Text.Encoding.Unicode);

    destFile.Write(value);
    destFile.Close();

    return true;
}
catch (Exception e)
{
    return false;
}

У кого-нибудь есть идеи?

8
задан Andrew Whitaker 28 April 2013 в 16:48
поделиться