XmlTextWriter writer = new XmlTextWriter(mainpath + "\\config.xml", System.Text.Encoding.GetEncoding("GBK"));
            writer.WriteStartDocument();
            writer.WriteStartElement("configs");
            writer.WriteElementString("code", "189");
            writer.WriteElementString("atth-dir-field", "ID");
            writer.WriteElementString("atth-path-field", "PATH");
            writer.WriteEndDocument();
            writer.Close(); 
以上我C#代码,生成xml文件最上面是“ <?xml version="1.0" encoding="gb2312" ?> "我想生成xml文件里是开头这样的<?xml version="1.0" encoding="GBK" ?> 
不知道怎么生成,请大家帮我看看

解决方案 »

  1.   

    XmlTextWriter 写不了,你需要使用XmlDocument doc = new XmlDocument();
    XmlDeclaration d=  doc.CreateXmlDeclaration("1.0","GBK",null);
      

  2.   

    生成XML文件,你可以使用序列化。
    把你所需要编写进XML的东西,换成属性,写进一个类里面。
    然后利用XmlSerializer类进行序列化。
    具体操作步骤,如下://声明,需要引入System.IO命名空间,以方便使用FileStream类
    //引入System.Xml.Serialization命名空间,以方便使用XmlSerializer类。
    //实例化一个刚才写的类的对象,并且初始化。在这里我假设个例子,Student类,属性Name,Age,Hobby
    //构造参数依次为(Name,Age,Hobby)
    Student stu = new Student("rose",22,"reading");
    //实例化流对象,在这里我们使用FileStream类
    //需要注意的是:路径中的文件名需要使用.xml为扩展名。
    FileStream fs = new FileStream("要生成的XML文件路径",FileMode.Create);
    //实例化XmlSerializer类对象,参数为typeof(),括号中要实例化的类名
    XmlSerializer myxml = new XmlSerializer(typeof(Student));
    //利用XmlSerializer的serialize()方法进行序列化,两个参数,第一个FileStream类对象,
    //第二个为要进行流化的类的对象。
    myxml.Serialize(fs,stu);
    //关闭流对象
    fs.Close();
    找到路径,就可以看见一个XML文件,打开应该就是你想要的了,希望对楼主有帮助。