📅  最后修改于: 2023-12-03 15:25:15.767000             🧑  作者: Mango
在C#中,我们可以使用XML序列化和反序列化来将对象转换为XML格式和将XML格式转换为对象。这对于在C#应用程序中处理XML数据非常有用。下面将介绍如何将XML字符串反序列化为对象C#。
在进行反序列化之前,我们需要做一些准备工作: 首先,我们需要创建一个包含我们要反序列化的属性的类。假设我们要反序列化以下XML字符串:
<Person>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<Age>30</Age>
<Email>john.doe@example.com</Email>
</Person>
我们需要创建一个Person类,如下所示:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Age { get; set; }
public string Email { get; set; }
}
其中,FirstName、LastName、Age和Email属性映射为XML元素。
其次,我们需要引用System.Xml和System.Xml.Serialization命名空间。
using System.Xml;
using System.Xml.Serialization;
反序列化操作是将XML格式转换为对象的过程。在C#中,我们可以使用XmlSerializer类来执行此操作。下面是将上面的XML字符串反序列化为Person对象的代码:
string xmlString = "<Person><FirstName>John</FirstName><LastName>Doe</LastName><Age>30</Age><Email>john.doe@example.com</Email></Person>";
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StringReader reader = new StringReader(xmlString))
{
Person person = (Person)serializer.Deserialize(reader);
}
在上面的代码中,我们首先定义一个包含我们要反序列化的属性的类。然后,我们使用XmlSerializer类创建一个序列化程序。最后,我们使用StringReader将XML字符串转换为流,并使用Deserialize方法将流转换为对象。最终,我们将Person对象存储在person变量中。