温馨提示×

如何实现C#的XML序列化

c#
小樊
93
2024-09-14 20:54:33
栏目: 编程语言

在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序列化和反序列化了。注意,这里的示例仅适用于简单的类。对于更复杂的类(如包含集合、继承等),可能需要进行额外的配置。有关详细信息,请参阅官方文档

0