datata 和XML转换 3

本文介绍了一个将DataTable转换为XML字符串的方法,并提供了一个从XML字符串还原回DataTable的过程。通过使用XmlTextWriter和XmlTextReader类,实现数据表与XML数据之间的高效互转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

private string ConvertDataTableToXML(DataTable xmlDS)
    {
        MemoryStream stream
= null;
        XmlTextWriter writer
= null;
       
try
        {
            stream
= new MemoryStream();
            writer
= new XmlTextWriter(stream, Encoding.Default);
            xmlDS.WriteXml(writer);
           
int count = (int)stream.Length;
           
byte[] arr = new byte[count];
            stream.Seek(
0, SeekOrigin.Begin);
            stream.Read(arr,
0, count);
            UTF8Encoding utf
= new UTF8Encoding();
           
return utf.GetString(arr).Trim();
        }
       
catch
        {
           
return String.Empty;
        }
       
finally
        {
           
if (writer != null) writer.Close();
        }
    }
   
private DataSet ConvertXMLToDataSet(string xmlData)
    {
      StringReader stream
= null;
      XmlTextReader reader
= null;
     
try
      {
        DataSet xmlDS
= new DataSet();
        stream
= new StringReader(xmlData);
        reader
= new XmlTextReader(stream);
        xmlDS.ReadXml(reader);
       
return xmlDS;
      }
     
catch (Exception ex)
      {
       
string strTest = ex.Message;
       
return null;
      }
     
finally
      {
       
if (reader != null)
        reader.Close();
      }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值