C# XML序列化

/// <summary>
/// XML序列化为指定对象
/// Author:taiyonghai
/// Time:2016-08-22
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="xmlString">xml字符串</param>
/// <returns></returns>
public static T XmlDeserialize<T>(string xmlString)
{
    using (StringReader reader = new StringReader(xmlString))
    {
        XmlSerializer ser = new XmlSerializer(typeof(T));
        return (T)ser.Deserialize(reader);
    }
}
/// <summary>
/// 指定对象序列化为XML字符串
/// Author:taiyonghai
/// Time:2016-08-22
/// </summary>
/// <typeparam name="T">对象类型</typeparam>
/// <param name="obj">源对象</param>
/// <returns></returns>
public static string XmlSerializer<T>(object obj)
{
    using (MemoryStream stream = new MemoryStream())
    {
        XmlSerializer xml = new XmlSerializer(typeof(T));
        xml.Serialize(stream, obj);
        using (StreamReader reader = new StreamReader(stream))
        {
            return reader.ReadToEnd();
        }
    }
}
时间: 2024-09-28 15:59:41

C# XML序列化的相关文章

序列化之XML序列化技术

优点: 1.可读性比较好, 2.有利于调试 3.XML序列化与语言无关 缺点: 1.序列化化后码流比较大,[主要是因为使用标签对来表示数据] 2.效率不高 使用场景: 1.对性能要求不高,且QPS较低的企业级内部系统之间的数据交换的场景 2.由于与语言无关,因此,可以使用到异构系统之间的数据交换协议,如WebService相关协议 使用方法: 序列化主要使用了XStream类的toXML(obj)方法,将obj对象转换为String类型,然后,再转换成字节数组. 反序列化主要使用到了XStrea

XML 序列化与反序列化

XML序列化与反序列化 1.将一个类转化为XML文件 /// <summary> /// 对象序列化成XML文件 /// </summary> /// <param name="type">对象类型</param> /// <param name="obj">对象</param> /// <param name="fileName">序列化的XML文件路径<

使用XML序列化器生成XML文件和利用pull解析XML文件

首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message> <sms> <body> 陈驰0 </body> <date> 1462162910995 </date> <address> 1380 </address> <type> 1 </type> &

Xml序列化和反序列化

读取Xml总共有三种方法:XmlTextReader   XmlDoucument   XPath 今天总结下XmlSerialize,xmlSerialize提供两个方法Deserialize(将xml反序列化成对象)和Serialize(将对象序列化城xml)   一.Serialize   序列化 /// <summary> /// transform target object in to xml file /// </summary> /// <typeparam

在XML序列化时去除默认命名空间xmlns:xsd和xmlns:xsi

可使用以下代码: //Create our own namespaces for the output XmlSerializerNamespaces ns = new XmlSerializerNamespaces (); //Add an empty namespace and empty value ns.Add ("", ""); //Create the serializer XmlSerializer slz = new XmlSerializer (s

Note4:XML序列化和反序列化

XML序列化和反序列化 待总结!

c# XML序列化与反序列化 属性字段标识

序列化对象 public class People { [XmlAttribute("NAME")] public string Name { set; get; } [XmlAttribute("AGE")] public int Age { set; get; } } [XmlRoot("Root")] public class Student : People { [XmlElement("CLASS")] public

Image(支持 XML 序列化),注意C#中原生的Image类是无法进行Xml序列化的

1 /// <summary> 2 /// Image(支持 XML 序列化) 3 /// </summary> 4 [XmlRoot("XmlImage")] 5 public class XmlImage : IXmlSerializable 6 { 7 public System.Drawing.Image Image { get; set; } 8 9 #region 构造函数 10 11 public XmlImage() 12 { } 13 14 p

Xml 序列化

1 XML序列化只能序列化对象的公有属性,并且要求对象有一个无参的构造方法,否者无法反序列化. 2 [Serializable]和[NonSerialized]特性对XML序列化无效!所以使用XML序列化时不需要对对象增加[Serializable]特性. XML形式 处理方法 补充说明 XmlElement 定义一个属性 属性名与节点名字匹配 XmlAttribute [XmlAttribute] 加到属性上 InnerText [InnerText] 加到属性上 一个类型只能使用一次 节点重

xml序列化和解析

xml序列化和解析 XmlSerializer类的使用--XML序列化 首先获得一个XmlSerializer序列化对象 XmlSerializer serializer = new Xml.newSerializer(); 使用XmlSerializer生成一个XML文件: serializer.setOutput(aa.xml,"utf-8") serializer.startDocument("utf-8",true)//设置头文档serializer.sta