生成一个xml文件时,如何让文件有“文档声明”呀,如<?xml version=”1.0”?>
以下代码可以生成xml文件,但是不能生成文档声明,我不知如何写呀。
据说文档声明一定要有的呀。using System;
using System.Collections.Generic;
using System.Text;using System.IO;
using System.Xml; namespace myxml3
{
    class Program
    {
        static void Main(string[] args)
        {
            XmlTextWriter writer = new XmlTextWriter("myMedia.xml", null);
            //使用自动缩进便于阅读 
            writer.Formatting = Formatting.Indented;
            //书写根元素 
            writer.WriteStartElement("items");  //00
            //开始一个元素 
            writer.WriteStartElement("item");   //11
            //向先前创建的元素中添加一个属性 
            writer.WriteAttributeString("rating", "R");
            //添加子元素 
            writer.WriteElementString("title", "The Matrix");
            writer.WriteElementString("format", "DVD");
            //关闭item元素 
            writer.WriteEndElement(); // 关闭元素 //11            //在节点间添加一些空格 
            writer.WriteWhitespace("\n");            // 关闭根元素 
            writer.WriteFullEndElement();
            //将XML写入文件并关闭writer 
            writer.Close(); 
        }
    }
}

解决方案 »

  1.   

                XmlDocument xml = new XmlDocument();
                XmlDeclaration dec = xml.CreateXmlDeclaration("1.0", "utf-8", null);
                xml.AppendChild(dec);
                XmlElement ele = xml.CreateElement("root");
                ele.InnerText = "abc";
                xml.AppendChild(ele);
                xml.Save(@"e:\aa.xml");
    /*
    <?xml version="1.0" encoding="utf-8"?>
    <root>abc</root>
    */
      

  2.   

    标准的文档声明的写法是:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>我用语句
    writer.WriteStartDocument();
    可以生成的是:
    <?xml version="1.0">我想问:standalone="yes" 如何生成呢?
      

  3.   

    把 writer.WriteStartDocument();
    换成        writer.WriteProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"");
      

  4.   


     XmlDeclaration dec = xml.CreateXmlDeclaration("1.0", "utf-8", null);