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;
我正在使用 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;