| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.IO;
- using System.Runtime.Serialization.Formatters.Binary;
- using System.Xml.Serialization;
- using System.Reflection;
- using System.Runtime.InteropServices;
- namespace Ips.Library.DxpLib
- {
- public static class ToolSerialization
- {
- //public static void ToBinaryFile(string fileName, object obj)
- //{
- // FileStream stream = File.Create(fileName);
- // BinaryFormatter binFmt = new BinaryFormatter();
- // binFmt.Serialize(stream, obj);
- // stream.Close();
- //}
- //public static object FromBinaryFile(string fileName, Type type)
- //{
- // FileStream stream = File.OpenRead(fileName);
- // BinaryFormatter binFmt = new BinaryFormatter();
- // object obj = binFmt.Deserialize(stream);
- // stream.Close();
- // return obj;
- //}
- public static void ToXmlFile(string fileName, object obj)
- {
- StreamWriter writer = null;
- try
- {
- XmlSerializer serializer = new XmlSerializer(obj.GetType());
- writer = new StreamWriter(fileName, false, Encoding.UTF8);
- serializer.Serialize(writer, obj);
- writer.Close();
- }
- catch
- {
- if (writer != null)
- writer.Close();
- throw;
- }
- }
- public static string ToXmlString(object obj)
- {
- var xmlSerializer = new XmlSerializer(obj.GetType());
- using (var stringWriter = new StringWriter())
- {
- xmlSerializer.Serialize(stringWriter, obj);
- using (var streamReader = new StringReader(stringWriter.GetStringBuilder().ToString()))
- {
- return streamReader.ReadToEnd();
- }
- }
- }
- public static object FromXmlFile(string fileName, Type type)
- {
- StreamReader reader = null;
- try
- {
- XmlSerializer serializer = new XmlSerializer(type);
- reader = new StreamReader(fileName);
- object obj = serializer.Deserialize(reader);
- reader.Close();
- return obj;
- }
- catch
- {
- if (reader != null)
- reader.Close();
- throw;
- }
- }
- public static object FromXmlString(string xmlString, Type type)
- {
- var x = new XmlSerializer(type);
- var r = new StringReader(xmlString);
- return x.Deserialize(r);
- }
- public static T FromXmlString<T>(string xmlString)
- {
- var x = new XmlSerializer(typeof(T));
- var r = new StringReader(xmlString);
- return (T)x.Deserialize(r);
- }
- }
- }
|