12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Text;
- using System.Xml.Serialization;
- namespace Ips.Library.Basic
- {
- public static class XmlUtil
- {
- 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 (Exception)
- {
- if (reader != null)
- reader.Close();
- return null;
- }
- }
- 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);
- }
- }
- }
|