您的位置:首页 > 财经 > 产业 > C#——XML格式序列化和反序列化

C#——XML格式序列化和反序列化

2024/12/27 18:39:59 来源:https://blog.csdn.net/qq_3517289697/article/details/140274670  浏览:    关键词:C#——XML格式序列化和反序列化

C#—XML格式序列化和反序列化

在C#中,可以使用System.Xml.Serialization命名空间下的XmlSerializer类来实现XML的序列化。

首先,定义一个可序列化的对象模型:

using System;
using System.Xml.Serialization;[XmlRoot("Person")]
public class Person
{[XmlElement("Name")]public string Name { get; set; }[XmlElement("Age")]public int Age { get; set; }
}

序列化

using System.IO;
using System.Xml.Serialization;public static string SerializeObject(Person obj)
{XmlSerializer serializer = new XmlSerializer(typeof(Person));using (StringWriter textWriter = new StringWriter()){serializer.Serialize(textWriter, obj);return textWriter.ToString();}
}

反序列化

using System.IO;
using System.Xml.Serialization;public static Person DeserializeObject(string xml)
{XmlSerializer serializer = new XmlSerializer(typeof(Person));using (StringReader textReader = new StringReader(xml)){return (Person)serializer.Deserialize(textReader);}
}

使用方法

Person person = new Person { Name = "John Doe", Age = 30 };
string xml = SerializeObject(person);
Console.WriteLine(xml);Person deserializedPerson = DeserializeObject(xml);
Console.WriteLine($"Name: {deserializedPerson.Name}, Age: {deserializedPerson.Age}");

这个例子中,我们定义了一个Person类,并用XmlRoot和XmlElement属性标记了类和属性,以指导XML序列化器如何序列化对象的属性。然后,我们创建了两个方法,SerializeObject用于将Person对象序列化为XML字符串,DeserializeObject用于将XML字符串反序列化为Person对象。最后,我们创建了一个Person对象,将其序列化,然后反序列化,并打印出结果。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com