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(, 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文件之间的转换的更多相关文章
- C#对象与XMl文件之间的相互转换
C#提供三种序列化方式,分别为: 1.是使用BinaryFormatter进行串行化: 2.使用SoapFormatter进行串行化: 3.使用XmlSerializer进行串行化.其中对于Binar ...
- C#对象与XMl文件之间的相互转换(转)
本文是对C#中对象与XMl文件之间的相互转换进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 C#提供三种序列化方式,分别为:1.是使用BinaryFormatter进行串行化: 2.使 ...
- JAXB—Java类与XML文件之间转换
JAXB-Java类与XML文件之间转换 简介 JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生 ...
- csv,txt,excel文件之间的转换,perl脚本
最近接触一些需要csv,txt,excel文件之间的转换,根据一些网上搜索加上自己的改动,实现自己想要的结果为主要目的,代码的出处已经找不到了,还请见谅,以下主要是针对csv&excel 和t ...
- Visual Studio各版本工程文件之间的转换 [转载]
原网址:http://www.cnblogs.com/jmliao/p/5594179.html Visual Studio各版本工程文件之间的转换 由于VS版本比较多,低版本无法直接打开高版本的 ...
- DataSet与Xml文件的互相转换
DataSet转换为xml文件 //将DataSet转换为xml文件 private static void ConvertDataSetToXMLFile(DataSet xmlD ...
- DataTable和实体类之间的转换
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.R ...
- Visual Studio各版本工程文件之间的转换
转载于:http://www.cnblogs.com/jmliao/p/5594179.html 由于VS版本比较多,低版本无法直接打开高版本的工程文件,通过对工程文件进行一些修改可以解决这些问题. ...
- 【插件】【idea】的Mybatis Plugin插件方便mapper接口方法和mapper XML文件之间来回切换
效果 安装 这是2019.2版本的,旧版的有点不一样
随机推荐
- Java第三阶段复习
Java第三阶段复习: 1. Spring 1. IOC: 定义:Inverse Of Controller:反转控制,将bean对象的创建和对象之间的关联关系的维护由原来我们自己创建.自己维护反转给 ...
- linux MySql 主从异步复制
[root@localhost ~]# hostname master.allentuns ###SLAVE 执行 [root@localhost ~]# sed -i 's@\(HOSTNAME=\ ...
- linux 建立 MySQL 账号
以 root 身份登录 Linux 系统,创建 mysql 组和用户 [root@Nagios-Server ~]# groupadd mysql [root@Nagios-Server ~]# us ...
- 伟大的GIL
GIL 首先需要明确的一点是GIL并不是Python的特性,它是在实现Python解析器(CPython)时所引入的一个概念.就好比C++是一套语言(语法)标准,但是可以用不同的编译器来编译成可执行代 ...
- docker持久化之存储卷
启动时敲: docker run -it -v /var/mydata:/abc myos #前面写真实机里的文件夹,冒号后面写docker里面的文件夹,最后写镜像名 (可以同时挂载 ...
- java实现一个简单的计数器
package com.fengunion.sf; import org.junit.platform.commons.util.StringUtils; import java.util.HashM ...
- AI人工智能对医疗行业有哪些巨大贡献?
人工智能(AI)有可能显着改变医生的角色并彻底改变医学实践.这篇定性评价文章总结了过去12个月的人工智能健康研究,涉及不同的医学专业,并讨论了与这一新兴技术相关的当前优势和挑战. 医生,特别是担任领导 ...
- [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} ...
- vertica merge 优化
-- 查看RDS的订单数(MySQL) select count(*) from ( SELECT tid, IF(LOCATE('pay_time', jdp_response)=0 ...
- ubuntu 14.04 安装openjdk 8
最近准备在ubuntu14.04上安装Oracle,但是需要提前安装jdk,发现问题挺多的,后面看到了如下的操作步骤,成功安装,特意记录下来. 致谢:https://www.yangshenglian ...