使用UNIX行结尾保存XDocument

lts*_*tar 3 c# xml line-endings

我有一个代码部分看起来像这样:

XDocument xml = new XDocument(
    new XElement("test1",
        new XElement("test2", "abc")
    )
);
Run Code Online (Sandbox Code Playgroud)

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

xml.Save("test.xml");
Run Code Online (Sandbox Code Playgroud)

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

Hexeditor显示行结尾

提前致谢!

SLa*_*aks 7

你需要创建一个XmlWriter:

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