xml与DataSet的互转换类

以前在博客上发过,经人提醒DataSet已自带读写XML的功能,于是便删了,
不过在实践中感觉封装一层后,使用起来还是蛮方便的。故再次重发。

xml与DataSet的互转换类using System;
xml与DataSet的互转换类
using System.Collections.Generic;
xml与DataSet的互转换类
using System.Text;
xml与DataSet的互转换类
using System.Data;
xml与DataSet的互转换类
using System.IO;
xml与DataSet的互转换类
using System.Xml;
xml与DataSet的互转换类
xml与DataSet的互转换类
namespace XmlDesign
xml与DataSet的互转换类xml与DataSet的互转换类
xml与DataSet的互转换类{
xml与DataSet的互转换类    
class XmlDatasetConvert
xml与DataSet的互转换类xml与DataSet的互转换类    
xml与DataSet的互转换类{
xml与DataSet的互转换类        
//将xml对象内容字符串转换为DataSet
xml与DataSet的互转换类
        public static DataSet ConvertXMLToDataSet(string xmlData)
xml与DataSet的互转换类xml与DataSet的互转换类        
xml与DataSet的互转换类{
xml与DataSet的互转换类            StringReader stream 
= null;
xml与DataSet的互转换类            XmlTextReader reader 
= null;
xml与DataSet的互转换类            
try
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                DataSet xmlDS 
= new DataSet();
xml与DataSet的互转换类                stream 
= new StringReader(xmlData);
xml与DataSet的互转换类                
//从stream装载到XmlTextReader
xml与DataSet的互转换类
                reader = new XmlTextReader(stream);
xml与DataSet的互转换类                xmlDS.ReadXml(reader);
xml与DataSet的互转换类                
return xmlDS;
xml与DataSet的互转换类            }

xml与DataSet的互转换类            
catch (System.Exception ex)
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                
throw ex;
xml与DataSet的互转换类            }

xml与DataSet的互转换类            
finally
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                
if (reader != null) reader.Close();
xml与DataSet的互转换类            }

xml与DataSet的互转换类        }

xml与DataSet的互转换类
xml与DataSet的互转换类        
//将xml文件转换为DataSet
xml与DataSet的互转换类
        public static DataSet ConvertXMLFileToDataSet(string xmlFile)
xml与DataSet的互转换类xml与DataSet的互转换类        
xml与DataSet的互转换类{
xml与DataSet的互转换类            StringReader stream 
= null;
xml与DataSet的互转换类            XmlTextReader reader 
= null;
xml与DataSet的互转换类            
try
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                XmlDocument xmld 
= new XmlDocument();
xml与DataSet的互转换类                xmld.Load(xmlFile);
xml与DataSet的互转换类
xml与DataSet的互转换类                DataSet xmlDS 
= new DataSet();
xml与DataSet的互转换类                stream 
= new StringReader(xmld.InnerXml);
xml与DataSet的互转换类                
//从stream装载到XmlTextReader
xml与DataSet的互转换类
                reader = new XmlTextReader(stream);
xml与DataSet的互转换类                xmlDS.ReadXml(reader);
xml与DataSet的互转换类                
//xmlDS.ReadXml(xmlFile);
xml与DataSet的互转换类
                return xmlDS;
xml与DataSet的互转换类            }

xml与DataSet的互转换类            
catch (System.Exception ex)
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                
throw ex;
xml与DataSet的互转换类            }

xml与DataSet的互转换类            
finally
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                
if (reader != null) reader.Close();
xml与DataSet的互转换类            }

xml与DataSet的互转换类        }

xml与DataSet的互转换类
xml与DataSet的互转换类        
//将DataSet转换为xml对象字符串
xml与DataSet的互转换类
        public static string ConvertDataSetToXML(DataSet xmlDS)
xml与DataSet的互转换类xml与DataSet的互转换类        
xml与DataSet的互转换类{
xml与DataSet的互转换类            MemoryStream stream 
= null;
xml与DataSet的互转换类            XmlTextWriter writer 
= null;
xml与DataSet的互转换类
xml与DataSet的互转换类            
try
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                stream 
= new MemoryStream();
xml与DataSet的互转换类                
//从stream装载到XmlTextReader
xml与DataSet的互转换类
                writer = new XmlTextWriter(stream, Encoding.Unicode);
xml与DataSet的互转换类
xml与DataSet的互转换类                
//用WriteXml方法写入文件.
xml与DataSet的互转换类
                xmlDS.WriteXml(writer);
xml与DataSet的互转换类                
int count = (int)stream.Length;
xml与DataSet的互转换类                
byte[] arr = new byte[count];
xml与DataSet的互转换类                stream.Seek(
0, SeekOrigin.Begin);
xml与DataSet的互转换类                stream.Read(arr, 
0, count);
xml与DataSet的互转换类
xml与DataSet的互转换类                UnicodeEncoding utf 
= new UnicodeEncoding();
xml与DataSet的互转换类                
return utf.GetString(arr).Trim();
xml与DataSet的互转换类            }

xml与DataSet的互转换类            
catch (System.Exception ex)
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                
throw ex;
xml与DataSet的互转换类            }

xml与DataSet的互转换类            
finally
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                
if (writer != null) writer.Close();
xml与DataSet的互转换类            }

xml与DataSet的互转换类        }

xml与DataSet的互转换类
xml与DataSet的互转换类        
//将DataSet转换为xml文件
xml与DataSet的互转换类
        public static void ConvertDataSetToXMLFile(DataSet xmlDS,string xmlFile)
xml与DataSet的互转换类xml与DataSet的互转换类        
xml与DataSet的互转换类{
xml与DataSet的互转换类            MemoryStream stream 
= null;
xml与DataSet的互转换类            XmlTextWriter writer 
= null;
xml与DataSet的互转换类
xml与DataSet的互转换类            
try
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                stream 
= new MemoryStream();
xml与DataSet的互转换类                
//从stream装载到XmlTextReader
xml与DataSet的互转换类
                writer = new XmlTextWriter(stream, Encoding.Unicode);
xml与DataSet的互转换类
xml与DataSet的互转换类                
//用WriteXml方法写入文件.
xml与DataSet的互转换类
                xmlDS.WriteXml(writer);
xml与DataSet的互转换类                
int count = (int)stream.Length;
xml与DataSet的互转换类                
byte[] arr = new byte[count];
xml与DataSet的互转换类                stream.Seek(
0, SeekOrigin.Begin);
xml与DataSet的互转换类                stream.Read(arr, 
0, count);
xml与DataSet的互转换类
xml与DataSet的互转换类                
//返回Unicode编码的文本
xml与DataSet的互转换类
                UnicodeEncoding utf = new UnicodeEncoding();
xml与DataSet的互转换类                StreamWriter sw 
= new StreamWriter(xmlFile);
xml与DataSet的互转换类                sw.WriteLine(
"<?xml version=\"1.0\" encoding=\"utf-8\"?>");
xml与DataSet的互转换类                sw.WriteLine(utf.GetString(arr).Trim());
xml与DataSet的互转换类                sw.Close();
xml与DataSet的互转换类            }

xml与DataSet的互转换类            
catch( System.Exception ex )
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                
throw ex;
xml与DataSet的互转换类            }

xml与DataSet的互转换类            
finally
xml与DataSet的互转换类xml与DataSet的互转换类            
xml与DataSet的互转换类{
xml与DataSet的互转换类                
if (writer != null) writer.Close();
xml与DataSet的互转换类            }

xml与DataSet的互转换类        }

xml与DataSet的互转换类
xml与DataSet的互转换类    }

xml与DataSet的互转换类}

xml与DataSet的互转换类
上一篇:WPF技术触屏上的应用系列(六): 视觉冲击、超炫系统主界面、系统入口效果实现


下一篇:云栖社区专家招募,我们寻找爱分享的你!