using (StreamWriter swt = new StreamWriter(FullFileName, false , Encoding.GetEncoding( " GB2312 " ))) ... { swt.WriteLine("<?xml version="1.0" encoding="gb2312"?>"); swt.WriteLine("<"+DataSetName+">"); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) ...{ swt.WriteLine(" <" + TableName + ">"); for (int j = 0; j < ds.Tables[0].Columns.Count; j++) ...{ swt.WriteLine(" <" + ds.Tables[0].Columns[j].ColumnName + ">" + ds.Tables[0].Rows[i][j].ToString() + "</" + ds.Tables[0].Columns[j].ColumnName + ">"); } swt.WriteLine(" </" + TableName + ">"); } swt.WriteLine("</" + DataSetName + ">"); swt.Close(); } 原先由DataSet生成XML文件(生成时扩展名改成“.TXT”),但是文件内容不换行,没用找到好的解决方案,上面的代码凑合着用,先达到目的再说。