zoukankan      html  css  js  c++  java
  • DataSet与Xml之间的转换

    DataSet转化为Xml,Xml转化为DataSet,Ado.net中使用方法DataSet.WriteXml()和DataSet.ReadXml(),由于有多个重载方法,所以这里有多条路径可以实现,可谓条条大道通罗马。这里我就把所有的用法来尝试下,希望给大家有个借鉴作用。     

    因为DataSet.ReadXml()和DataSet.WriteXml()共8种重载方法,前四种是不带架构的,后四种带架构。这里举出带架构的4种方法。      

    /// <summary>         /// DataSet和Xml之间的转换         /// </summary>         /// <param name="sender"></param>         /// <param name="e"></param>         private void DsAndXml_Click(object sender, EventArgs e)        

    {             //自定义一个DataSet,里面有一列a,一行值为"hello world!",Xml数据从这个数据集中来读取            

    DataSet dsWrite = new DataSet();            

    DataTable dt = new DataTable();            

     dt.Columns.Add("a", typeof(string));            

    DataRow dr = dt.NewRow();            

    dr[0] = "hello world!";            

     dt.Rows.Add(dr);            

    dsWrite.Tables.Add(dt);            

    //自定义一个DataSet用来从xml中读取数据            

    DataSet dsRead = new DataSet();            

     int k = Convert.ToInt32(this.textBox1.Text.ToString());       

      switch(k)            

     {           case 1:

     Stream stream = new FileStream(@System.AppDomain.CurrentDomain.BaseDirectory.ToString()+"Test.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite);                    

    //dsWrite.WriteXml(stream);                 

     dsWrite.WriteXml(stream, XmlWriteMode.WriteSchema);                 

     stream.Close();                     

     dsRead.ReadXml(@System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "Test.txt");                    

    break; 

    case 2:

    dsWrite.WriteXml(@System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "Test.txt");                       

    dsRead.ReadXml(@System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "Test.txt");                    

    break; 

    case 3: 

    StringBuilder s1 = new StringBuilder();                    

    TextWriter tw1 = new StringWriter(s1);                    

     System.Xml.XmlTextWriter xtw1= new System.Xml.XmlTextWriter(tw1);                    

    dsWrite.WriteXml(xtw1,XmlWriteMode.WriteSchema);                    

    string xml1 = s1.ToString();                     //读入                    

    TextReader tr1 = new StringReader(xml1);                    

    dsRead.ReadXml(tr1,XmlReadMode.ReadSchema);                    

     //System.Xml.XmlReader xr = System.Xml.XmlReader.Create(tr1);                    

    //dsRead.ReadXml(xr);                                       

    break;                

    case 4:

    StringBuilder s = new StringBuilder();                    

     TextWriter tw = new StringWriter(s);                    

    dsWrite.WriteXml(tw, XmlWriteMode.WriteSchema);                    

    string xml = s.ToString();                   

    TextReader tr = new StringReader(xml);                    

    dsRead.ReadXml(tr,XmlReadMode.ReadSchema);                    

     break;                

     default:                    

    break;              

    }        

    }     


    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/feijian14/archive/2008/06/28/2593930.aspx

  • 相关阅读:
    智慧养老民政监管平台建设方案
    CF600E Lomsat gelral dsu on tree
    dsu on tree详解
    【Spring 从0开始】Spring5 新功能,整合日志框架 Log4j2
    【Spring 从0开始】JdbcTemplate 数据库事务管理
    【Spring 从0开始】JdbcTemplate 数据库事务参数
    【Spring 从0开始】JdbcTemplate 数据库事务管理
    【Spring 从0开始】JdbcTemplate 操作数据库
    【Spring 从0开始】AOP 操作
    【Spring 从0开始】AOP 操作中的相关术语、环境准备
  • 原文地址:https://www.cnblogs.com/uwking/p/2014584.html
Copyright © 2011-2022 走看看