使用C#中的XmlDocument保存基本处理指令的最简单方法是什么?

时间:2009-11-08 04:09:23

标签: c# xml

在我的代码中:

XmlDocument document = new XmlDocument();
XmlElement book = document.CreateElement("book");
document.AppendChild(book);

... // create and add a bunch of nodes

document.Save(filename);

我想修改我的代码,以便将字符串<?xml version="1.0"?>保存在filename的顶部。最简单的方法是什么?

3 个答案:

答案 0 :(得分:1)

您需要指定XmlNodeType.XmlDeclaration来处理XmlDocument.CreateNode(XmlNodeType, string, string)重载。这应该在文档中添加一个声明节点。

答案 1 :(得分:1)

在不操作文档的情况下,您可以为Save方法提供XmlWriter,默认情况下会写入XML声明:

    using (XmlWriter xw = XmlWriter.Create(filename))
    {
        document.Save(xw);
    }

答案 2 :(得分:1)

这应该有效并且还可以打印输出:

using(var writer =
  XmlWriter.Create(filename, new XmlWriterSettings { Indent = true }))
{
  document.Save(writer);
}