c#

c# xmlserializer如何使用

小樊
83
2024-12-01 09:22:07
栏目: 编程语言

C# 的 XmlSerializer 类用于将对象序列化为 XML 字符串,或将 XML 字符串反序列化为对象。以下是如何使用 XmlSerializer 的基本步骤:

  1. 定义要序列化的类。例如,定义一个名为 Person 的类:
public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Age { get; set; }
}
  1. 创建一个 XmlSerializer 对象,指定要序列化的类型:
XmlSerializer serializer = new XmlSerializer(typeof(Person));
  1. 使用 Serialize 方法将对象序列化为 XML 字符串:
Person person = new Person { FirstName = "John", LastName = "Doe", Age = 30 };
string xmlString;
using (StringWriter writer = new StringWriter())
{
    serializer.Serialize(writer, person);
    xmlString = writer.ToString();
}
Console.WriteLine(xmlString);

这将输出以下 XML 字符串:

<Person>
  <FirstName>John</FirstName>
  <LastName>Doe</LastName>
  <Age>30</Age>
</Person>
  1. 使用 Deserialize 方法将 XML 字符串反序列化为对象:
string xmlString = "<Person><FirstName>Jane</FirstName><LastName>Doe</LastName><Age>28</Age></Person>";
using (StringReader reader = new StringReader(xmlString))
{
    Person person = (Person)serializer.Deserialize(reader);
    Console.WriteLine($"FirstName: {person.FirstName}, LastName: {person.LastName}, Age: {person.Age}");
}

这将输出:

FirstName: Jane, LastName: Doe, Age: 28

注意:在使用 XmlSerializer 时,需要确保类的属性具有公共 getter 和 setter 方法。如果某个类需要特殊处理,可以实现 IXmlSerializable 接口并重写 WriteXmlReadXml 方法。

0
看了该问题的人还看了