zoukankan      html  css  js  c++  java
  • C# datatable 与 xml文件之间的转换

    /// <summary>
    /// datatable转XML文件
    /// </summary>
    /// <param name="dtTable"></param>
    /// <param name="strXMLPath"></param>
    /// <returns></returns>
    public bool DataTableToXML(DataTable dtTable, string strXMLPath)
    {
    MemoryStream stream = null;
    XmlTextWriter writer = null;
    DataSet ds=new DataSet ();
    ds.Tables.Add(dtTable.Copy());
    StreamWriter sw = null;
    try
    {
    stream = new MemoryStream();
    writer = new XmlTextWriter(stream, Encoding.UTF8);
    ds.WriteXml(writer, XmlWriteMode.WriteSchema);
    int nCount = (int)stream.Length;
    byte[] arr = new byte[nCount];
    stream.Seek(0, SeekOrigin.Begin);
    stream.Read(arr, 0, nCount);
    UTF8Encoding utf = new UTF8Encoding();
    string strContent = utf.GetString(arr).Trim();
    sw = new StreamWriter(strXMLPath);
    sw.Write(strContent);
    
    return true;
    }
    catch (System.Exception vErr)
    {
    MessageBox.Show(vErr.Message);
    return false;
    }
    finally
    {
    if (writer != null)
    {
    writer.Close();
    }
    if (sw != null)
    {
    sw.Close();
    }
    }
    }
    /// <summary>
    /// 读取XML转datatable
    /// </summary>
    /// <param name="strXMLPath"></param>
    /// <returns></returns>
    public DataTable XMLToDataTable(string strXMLPath)
    {
    StringReader stream = null;
    XmlTextReader reader = null;
    StreamReader sr = null;
    try
    {
    if (strXMLPath.Length <= 0)
    {
    return new DataTable();
    }
    sr = new StreamReader(strXMLPath);
    string strXmlContent = sr.ReadToEnd();
    stream = new StringReader(strXmlContent);
    reader = new XmlTextReader(stream);
    DataSet ds = new DataSet();
    ds.ReadXml(reader);
    return ds.Tables[0];
    }
    catch (System.Exception vErr)
    {
    MessageBox.Show(vErr.Message);
    }
    finally
    {
    if (sr != null)
    sr.Close();
    if (reader != null)
    reader.Close();
    }
    return new DataTable();
    }
  • 相关阅读:
    LeetCode-top100-3. 无重复字符的最长子串
    最长单调递增子序列 POJ 3903 Stock Exchange .
    并查集 POJ 1988 Cube Stacking
    贪心初步 hdu1789 Doing Homework again
    并查集初步题目(2)
    并查集初步题目(1)
    【python】引用模块,以及初探__init__.py
    Python 模块里函数的调用方法和import语句的作用(初学者版)
    二分查找算法
    python之内置函数,匿名函数
  • 原文地址:https://www.cnblogs.com/xiaoerlang90/p/4126518.html
Copyright © 2011-2022 走看看