zoukankan      html  css  js  c++  java
  • C# XML与对象互相转换

    https://www.cnblogs.com/servant/p/4462446.html

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Xml.Serialization;
    using System.IO;
    using System.Xml;

    namespace Common
    {
        public class XmlUtility
        {
            /// <summary>
            /// 将自定义对象序列化为XML字符串
            /// </summary>
            /// <param name="myObject">自定义对象实体</param>
            /// <returns>序列化后的XML字符串</returns>
            public static string SerializeToXml<T>(T myObject)
            {
                if (myObject != null)
                {
                    XmlSerializer xs = new XmlSerializer(typeof(T));

                    MemoryStream stream = new MemoryStream();
                    XmlTextWriter writer = new XmlTextWriter(stream, Encoding.UTF8);
                    writer.Formatting = Formatting.None;//缩进
                    xs.Serialize(writer, myObject);

                    stream.Position = 0;
                    StringBuilder sb = new StringBuilder();
                    using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                    {
                        string line;
                        while ((line = reader.ReadLine()) != null)
                        {
                            sb.Append(line);
                        }
                        reader.Close();
                    }
                    writer.Close();
                    return sb.ToString();
                }
                return string.Empty;
            }

            /// <summary>
            /// 将XML字符串反序列化为对象
            /// </summary>
            /// <typeparam name="T">对象类型</typeparam>
            /// <param name="xml">XML字符</param>
            /// <returns></returns>
            public static T DeserializeToObject<T>(string xml)
            {
                T myObject;
                XmlSerializer serializer = new XmlSerializer(typeof(T));
                StringReader reader = new StringReader(xml);
                myObject = (T)serializer.Deserialize(reader);
                reader.Close();
                return myObject;
            }
        }
    }

  • 相关阅读:
    SG函数
    贪心:zoj3953 Intervals
    山东省第四届省赛 E-Mountain Subsequences
    山东省第四届ACM程序设计竞赛A题:Rescue The Princess
    前缀和:CodeForces 932B Recursive Queries
    常用头文件和一些简单的函数
    codeforce 429D. Tricky Function (思维暴力过)
    HDU-5754 Life Winner Bo (博弈论)
    线程池的原理与实现
    运行停止一个线程
  • 原文地址:https://www.cnblogs.com/LuoEast/p/9228793.html
Copyright © 2011-2022 走看看