在C#中,XML序列化和反序列化是将对象转换为XML格式以及将XML格式还原为对象的过程。这允许您以XML形式存储和传输对象数据。
序列化是将对象转换为XML字符串的过程。在C#中,您可以使用System.Xml.Serialization
命名空间中的类来实现序列化。以下是一个简单的示例:
using System; using System.IO; using System.Xml.Serialization; [Serializable] public class Person { public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } } class Program { static void Main() { Person person = new Person { FirstName = "John", LastName = "Doe", Age = 30 }; XmlSerializer serializer = new XmlSerializer(typeof(Person)); using (StringWriter writer = new StringWriter()) { serializer.Serialize(writer, person); string xmlString = writer.ToString(); Console.WriteLine(xmlString); } } }
在这个例子中,我们创建了一个Person
类,并使用XmlSerializer
类将其序列化为XML字符串。
反序列化是将XML字符串还原为对象的过程。以下是一个简单的示例:
using System; using System.IO; using System.Xml.Serialization; [Serializable] public class Person { public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } } class Program { static void Main() { string xmlString = ""; XmlSerializer serializer = new XmlSerializer(typeof(Person)); using (StringReader reader = new StringReader(xmlString)) { Person person = (Person)serializer.Deserialize(reader); Console.WriteLine($"FirstName: {person.FirstName}, LastName: {person.LastName}, Age: {person.Age}"); } } } John Doe 30
在这个例子中,我们使用XmlSerializer
类将XML字符串反序列化为Person
对象。
注意:为了使序列化和反序列化正常工作,您需要为类添加[Serializable]
属性。这个属性告诉序列化器该类可以被序列化。