如何把DataSet的数据生成如下的格式的xml文件
<?xml version="1.0" standalone="yes"?>
<Gddata fType="GdcProjInfo" GdCodeId_To="Gd2006" >
  <GdcBasicInfo>
    <GdProjectCodeId>2011-91927</GdProjectCodeId>
    <SpecSysAplCodeId />
  </GdcBasicInfo>
</Gddata>

解决方案 »

  1.   

     //将xml对象内容字符串转换为DataSet
            public static DataSet ConvertXMLToDataSet(string xmlData)
            {
                StringReader stream = null;
                XmlTextReader reader = null;
                try
                {
                    DataSet xmlDS = new DataSet();
                    stream = new StringReader(xmlData);
                    //从stream装载到XmlTextReader
                    reader = new XmlTextReader(stream);
                    xmlDS.ReadXml(reader);
                    return xmlDS;
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    if (reader != null) reader.Close();
                }
            }        //将xml文件转换为DataSet
            public static DataSet ConvertXMLFileToDataSet(string xmlFile)
            {
                StringReader stream = null;
                XmlTextReader reader = null;
                try
                {
                    XmlDocument xmld = new XmlDocument();
                    xmld.Load(xmlFile);                DataSet xmlDS = new DataSet();
                    stream = new StringReader(xmld.InnerXml);
                    //从stream装载到XmlTextReader
                    reader = new XmlTextReader(stream);
                    xmlDS.ReadXml(reader);
                    //xmlDS.ReadXml(xmlFile);
                    return xmlDS;
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    if (reader != null) reader.Close();
                }
            }        //将DataSet转换为xml对象字符串
            public static string ConvertDataSetToXML(DataSet xmlDS)
            {
                MemoryStream stream = null;
                XmlTextWriter writer = null;            try
                {
                    stream = new MemoryStream();
                    //从stream装载到XmlTextReader
                    writer = new XmlTextWriter(stream, Encoding.Unicode);                //用WriteXml方法写入文件.
                    xmlDS.WriteXml(writer);
                    int count = (int)stream.Length;
                    byte[] arr = new byte[count];
                    stream.Seek(0, SeekOrigin.Begin);
                    stream.Read(arr, 0, count);                UnicodeEncoding utf = new UnicodeEncoding();
                    return utf.GetString(arr).Trim();
                }
                catch (System.Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    if (writer != null) writer.Close();
                }
            }