龙空技术网

c# .net XML 序列化与反序列化-NET FrameWork工具类分享

爱Code 80

前言:

现时你们对“netstring转xml”大概比较讲究,你们都想要知道一些“netstring转xml”的相关知识。那么小编同时在网摘上网罗了一些有关“netstring转xml””的相关内容,希望姐妹们能喜欢,兄弟们一起来学习一下吧!

近期小编爱code 看到了自己经常用的类库,发现有不少的东西已经封装得不少了。想一想以前积攒的资料也是这么多年的工作努力,项目很多,可是自己平使用的类库也是相当重要的,在有一些时间能提升开发速度,程序稳定性甚至框架思维模式。

XML 作为现在配置经常用的一种方式,如何的快速分析也是相当有重要。随着json的崛起,XML有所衰减,但在重多项目上还有着 很多量的使用。

这次向大家介绍的是什么 c# 将对象写字符串,或字符串转对象

首选要先定义一个实体类

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Xml.Serialization;namespace LX.MES.FrameWork.Config.Entity{    [Serializable]    [XmlRoot("MESDynamicConfig")]    public class MESDynamicConfigEntity    {        public MESDynamicConfigEntity()        {         }        /// <summary>        /// 服务器网址        /// </summary>        [XmlElement("SeriveUrl")]        public string SeriveUrl { get; set; }        /// <summary>        /// 服务器通信口令        /// </summary>        [XmlElement("SaftyCommand")]        public string SaftyCommand { get; set; }    }}

对象转XML字符串

/// <summary>        /// 对象转XML        /// </summary>        /// <param name="obj"></param>        /// <returns></returns>        public static string ObjToXml(object obj)        {            using (MemoryStream Stream = new MemoryStream())            {                XmlSerializer xml = new XmlSerializer(obj.GetType());                xml.Serialize(Stream, obj);                Stream.Position = 0;                StreamReader sr = new StreamReader(Stream);                string str = sr.ReadToEnd();                return str;            }        }

XML 转成对象

/// <summary>          /// 实体对象序列化成xml字符串          /// </summary>          /// <typeparam name="T"></typeparam>          /// <param name="obj"></param>          /// <returns></returns>          public static string Serialize<T>(T obj, Encoding encoding)        {            try            {                if (obj == null)                    throw new ArgumentNullException("obj");                var ser = new XmlSerializer(obj.GetType());                using (var ms = new MemoryStream())                {                    using (var writer = new XmlTextWriter(ms, encoding))                    {                        writer.Formatting = Formatting.Indented;                        ser.Serialize(writer, obj);                    }                    var xml = encoding.GetString(ms.ToArray());                    xml = xml.Replace("xmlns:xsi=\"\"", "");                    xml = xml.Replace("xmlns:xsd=\"\"", "");                    xml = Regex.Replace(xml, @"\s{2}", "");                    xml = Regex.Replace(xml, @"\s{1}/>", "/>");                    return xml;                }            }            catch (Exception ex)            {                throw ex;            }        }

标签: #netstring转xml #netstring转xml文件 #netmsxml