如何实现C#的XML序列化

avatar
作者
筋斗云
阅读量:0

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

  1. 首先,创建一个要序列化的类。这个类应该包含一些公共属性和字段,这些将被序列化为XML元素。例如:
public class Person {     public string Name { get; set; }     public int Age { get; set; } } 
  1. 接下来,创建一个XmlSerializer对象,用于将对象序列化为XML。例如:
Person person = new Person { Name = "John", Age = 30 }; XmlSerializer serializer = new XmlSerializer(typeof(Person)); 
  1. 使用StringWriterFileStream将序列化后的XML保存到字符串或文件中。例如:
// 序列化到字符串 StringWriter writer = new StringWriter(); serializer.Serialize(writer, person); string xmlString = writer.ToString();  // 序列化到文件 using (FileStream fs = new FileStream("person.xml", FileMode.Create)) {     serializer.Serialize(fs, person); } 
  1. 若要反序列化XML字符串或文件回对象,请使用XmlReaderFileStream。例如:
// 反序列化字符串 XmlReader reader = XmlReader.Create(new StringReader(xmlString)); Person deserializedPerson = (Person)serializer.Deserialize(reader);  // 反序列化文件 using (FileStream fs = new FileStream("person.xml", FileMode.Open)) {     Person deserializedPersonFromFile = (Person)serializer.Deserialize(fs); } 

完成上述步骤后,你就可以实现C#的XML序列化和反序列化了。注意,这里的示例仅适用于简单的类。对于更复杂的类(如包含集合、继承等),可能需要进行额外的配置。有关详细信息,请参阅官方文档

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!