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版本的,旧版的有点不一样
随机推荐
- 31. Next Permutation (JAVA)
Implement next permutation, which rearranges numbers into the lexicographically next greater permuta ...
- XPath语法以及谓语的结合使用
/* XPath 术语 节点(Node) 在 XPath 中,有七种类型的节点:元素.属性.文本.命名空间.处理指令.注释以及文档(根)节点.XML 文档是被作为节点树来对待的.树的根被称为文档节点或 ...
- 如何编写testbench的总结(非常实用的总结)
1.激励的设置 相应于被测试模块的输入激励设置为reg型,输出相应设置为wire类型,双向端口inout在测试中需要进行处理. 方法1:为双向端口设置中间变量inout_reg作为该inout的输出寄 ...
- CCPC-Wannafly Winter Camp Day1 爬爬爬山 (最短路)
题目描述 爬山是wlswls最喜欢的活动之一. 在一个神奇的世界里,一共有nn座山,mm条路. wlswls初始有kk点体力,在爬山的过程中,他所处的海拔每上升1m1m,体力会减11点,海拔每下降1m ...
- 设置mysql数据表列自动递增以及数据行插入操作
创建mysql数据表,设置id列递增.主键create table running_log ( id int primary key auto_increment, routename varchar ...
- 谷歌浏览器遇到js报错自动进行断点调试,如何关闭
转载于csdn 附地址 http://blog.csdn.net/microcosmv/article/details/60793882 留备用.
- re模块下的的常用方法
引入模块: import re 1.查找findall 匹配所有,每一项都是列表中的一个元素 ret=re.findall("\d+","sjkhk172按实际花费9 ...
- iOS---如何获取手机的本地照片和相册
__weak ViewController *weakSelf = self; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIO ...
- Python3 实现FTP功能
目录结构: FTP_project/ ├── FTP_client │ ├── ftp_client.py │ └── __init__.py └── FTP_server ├── bin │ ...
- facebook第三方登陆实践
未完,待续... 1.注册 到Facebook官网注册开发者账号,创建应用(开发者平台 https://developers.facebook.com),如果尚未注册账号的请注册账号并进行登录) 注册 ...