使用UNIX行结尾保存XDocument

时间:2013-06-09 20:25:40

标签: c# xml line-endings

我的代码部分看起来像这样:

XDocument xml = new XDocument(
    new XElement("test1",
        new XElement("test2", "abc")
    )
);

我现在想使用Save方法保存xml文档:

xml.Save("test.xml");

然后我使用十六进制编辑器查看了该文件,发现它有windows行结尾(/ r / n)。但是,我“只”需要 UNIX行结尾(/ n)。

Hexeditor showing line endings

提前致谢!

2 个答案:

答案 0 :(得分:5)

您需要创建XmlWriter

using (var w = XmlWriter.Create(path, new XmlWriterSettings { 
        NewLineChars = "\n", 
    }))
    xml.Save(w);

答案 1 :(得分:0)

var xml = "<?xml version= ...";  //your xml string
using (var w = XmlWriter.Create(path,
                    new XmlWriterSettings
                    {
                        NewLineChars = "\n",
                    })
)
{
    w.WriteRaw(xml);
}