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();
}
时间: 2024-11-13 09:02:08

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

csv,txt,excel文件之间的转换

最近接触一些需要csv,txt,excel文件之间的转换,根据一些网上搜索加上自己的改动,实现自己想要的结果为主要目的,代码的出处已经找不到了,还请见谅,以下主要是针对csv&excel 和txt&excel写的perl脚本. 主要用到的模块是: Text::CSVSpreadsheet::WriteExcel Spreadsheet::ParseExcel Spreadsheet::ParseExcel::FmtUnicode Unicode::Map 可以支持中文,具体也没有要仔细说明

arff文件和txt文件之间的转换_python

在github上,已经有前辈对这两种格式的文件间的转换提供了相应的python库,比如liac-arff: https://github.com/renatopp/liac-arff.但是当程序比较复杂时,再调用这么多外部文件,未免显得冗杂:而且这些arff库,在attribute和值数目不一致时,会报错.所以,在师兄的支持下,我参考overflow写了两个简单的转换函数.(用时5个多小时...以后要效率啊) arff2txt(): 将arff文件转换成txt格式: import re impo

DataSet与Xml文件的互相转换

DataSet转换为xml文件   //将DataSet转换为xml文件        private static void ConvertDataSetToXMLFile(DataSet xmlDS, string xmlFile)        {            MemoryStream stream = null;            XmlTextWriter writer = null;                        try            {    

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

由于VS版本比较多,低版本无法直接打开高版本的工程文件,通过对工程文件进行一些修改可以解决这些问题. 通过修改Solution文件和Project文件,可以使低版本转换为高版本. 例如将VS2015工程转换为VS2010工程. 1.修改解决方案文件 使用记事本打开.lsn文件: 将Format Version 12.00改为11.00: 将# Visual Studio 14改为2010: 将VisualStudioVersion = 14.0.25123.0改为10. Format Versi

Datatable与实体list之间的转换

public static class ConvertDataTableWithList<T> where T:new()    {        public static List<T> ConvertToModelList(DataTable dt)        {            //定义集合            List<T> ts = new List<T>();            T t = new T();           

java dom4j 解析XML文件 简易教程

XML 来自: W3School XML 被设计用来传输和存储数据. HTML 被设计用来显示数据. 什么是 XML? eXtensible Markup Language XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义.您需要自行定义标签. XML 被设计为具有自我描述性. XML 是 W3C 的推荐标准 XML 与 HTML 的主要差异 XML 不

Asp.net中XML与DataSet、DataTable之间的转换

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Xml; using System.IO; using System.Web; namespace Utility { /// <summary> /// 把DataSet.DataTable.DataView格式转换成XML字符串.XML文件 /// </summary> public

C# Stream 和 byte[] 之间的转换(文件流的应用)

一. 二进制转换成图片 MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = Image.FromStream(ms); ms.Close(); this.pictureBox1.Image 二. C#中byte[]与string的转换代码 1.System.Text.UnicodeEncoding converter = new System.Text.UnicodeEncoding(); byte[]

xml文件解析基础和签名

0. 前言 参考文档1:使用dom4j读取xml文件的四种方式 参考文档2:dom4j解析xml文件 参考文档3:String 和 document 的相互转换总结 参考文档4: Java SE 6中 XML 数字签名的标准 Java 接口 参考文档5:XML Security with Digital Signature in JAVA 1.xml文件的解析 1.1 基本的jdk解析xml的原始api解析 声明 1.以下代码块要放到一个类中才能运行 dom类型为:org.w3c.dom.* 解