/// <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(, SeekOrigin.Begin);
stream.Read(arr, , 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 <= )
{
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[];
}
catch (System.Exception vErr)
{
MessageBox.Show(vErr.Message);
}
finally
{
if (sr != null)
sr.Close();
if (reader != null)
reader.Close();
}
return new DataTable();
}

C# datatable 与 xml文件之间的转换的更多相关文章

  1. C#对象与XMl文件之间的相互转换

    C#提供三种序列化方式,分别为: 1.是使用BinaryFormatter进行串行化: 2.使用SoapFormatter进行串行化: 3.使用XmlSerializer进行串行化.其中对于Binar ...

  2. C#对象与XMl文件之间的相互转换(转)

    本文是对C#中对象与XMl文件之间的相互转换进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 C#提供三种序列化方式,分别为:1.是使用BinaryFormatter进行串行化: 2.使 ...

  3. JAXB—Java类与XML文件之间转换

    JAXB-Java类与XML文件之间转换 简介         JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生 ...

  4. csv,txt,excel文件之间的转换,perl脚本

    最近接触一些需要csv,txt,excel文件之间的转换,根据一些网上搜索加上自己的改动,实现自己想要的结果为主要目的,代码的出处已经找不到了,还请见谅,以下主要是针对csv&excel 和t ...

  5. Visual Studio各版本工程文件之间的转换 [转载]

    原网址:http://www.cnblogs.com/jmliao/p/5594179.html Visual Studio各版本工程文件之间的转换   由于VS版本比较多,低版本无法直接打开高版本的 ...

  6. DataSet与Xml文件的互相转换

    DataSet转换为xml文件   //将DataSet转换为xml文件        private static void ConvertDataSetToXMLFile(DataSet xmlD ...

  7. DataTable和实体类之间的转换

    using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.R ...

  8. Visual Studio各版本工程文件之间的转换

    转载于:http://www.cnblogs.com/jmliao/p/5594179.html 由于VS版本比较多,低版本无法直接打开高版本的工程文件,通过对工程文件进行一些修改可以解决这些问题. ...

  9. 【插件】【idea】的Mybatis Plugin插件方便mapper接口方法和mapper XML文件之间来回切换

    效果 安装 这是2019.2版本的,旧版的有点不一样

随机推荐

  1. Java第三阶段复习

    Java第三阶段复习: 1. Spring 1. IOC: 定义:Inverse Of Controller:反转控制,将bean对象的创建和对象之间的关联关系的维护由原来我们自己创建.自己维护反转给 ...

  2. linux MySql 主从异步复制

    [root@localhost ~]# hostname master.allentuns ###SLAVE 执行 [root@localhost ~]# sed -i 's@\(HOSTNAME=\ ...

  3. linux 建立 MySQL 账号

    以 root 身份登录 Linux 系统,创建 mysql 组和用户 [root@Nagios-Server ~]# groupadd mysql [root@Nagios-Server ~]# us ...

  4. 伟大的GIL

    GIL 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念.就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代 ...

  5. docker持久化之存储卷

         启动时敲:   docker run -it -v /var/mydata:/abc myos   #前面写真实机里的文件夹,冒号后面写docker里面的文件夹,最后写镜像名 (可以同时挂载 ...

  6. java实现一个简单的计数器

    package com.fengunion.sf; import org.junit.platform.commons.util.StringUtils; import java.util.HashM ...

  7. AI人工智能对医疗行业有哪些巨大贡献?

    人工智能(AI)有可能显着改变医生的角色并彻底改变医学实践.这篇定性评价文章总结了过去12个月的人工智能健康研究,涉及不同的医学专业,并讨论了与这一新兴技术相关的当前优势和挑战. 医生,特别是担任领导 ...

  8. [Comet OJ - Contest #9 & X Round 3] Namid[A]me

    传送门 一开始读错题了,以为是\(\sum_{1\leq u\leq v\leq n}f(u,v)\),还疑惑这题这么简单怎么没人做( 实际上是\(\sum_{1\leq u\leq v\leq n} ...

  9. vertica merge 优化

    -- 查看RDS的订单数(MySQL) select count(*) from  (   SELECT   tid,    IF(LOCATE('pay_time', jdp_response)=0 ...

  10. ubuntu 14.04 安装openjdk 8

    最近准备在ubuntu14.04上安装Oracle,但是需要提前安装jdk,发现问题挺多的,后面看到了如下的操作步骤,成功安装,特意记录下来. 致谢:https://www.yangshenglian ...