XML 使用 C# 到平面文件

XML to Flat File using C#

我正在使用 XMLDocument 创建 XML 文件。但是对于界面,我需要将它们作为平面文件共享。 请帮忙

XmlDocument doc1 = new XmlDocument();
            string loadFilePath = Server.MapPath("~\temp\IC35181.xml");
            doc1.Load(loadFilePath);

doc1.Save(Server.MapPath("~\temp\IC35181.xml"));

File.Copy(Server.MapPath("~\temp\IC35181.xml"), Server.MapPath("~\temp\IC35181_" + DateTime.Now.ToString("yyyyMMdd") + "_0" + (++k).ToString().PadLeft(4, '0') + ".xml"), true);

doc1.DocumentElement.ParentNode.RemoveAll();
File.WriteAllText(Server.MapPath("~\temp\IC35181.xml"), string.Empty);
File.Copy(Server.MapPath("~\XMLRootTag.xml"),Server.MapPath("~\temp\IC35181.xml"), true);

如果您需要控制格式,请不要使用 XmlDocument.Save(string path),而是使用 XmlDocument.Save(XmlWriter w) - 您必须通过 XmlWriter.Create(string, XmlWriterSettings) 创建自己的 XmlWriter,即

using(var writer = XmlWriter.Create(Server.MapPath("~\temp\IC35181.xml"), yourSettings))
{
    doc1.Save(writer);
}

然后我们只需要决定将什么格式设置放入您的 XmlWriterSettings 实例(示例中的 yourSettings)。也许:

var yourSettings = new XmlWriterSettings
{
    Indent = false,
    NewLineHandling = NewLineHandling.None,
    NewLineOnAttributes = false,
};

Marc 的答案对我也有用,但我发现了另一个 属性 也对我有用:

doc1.PreserveWhitespace = true;