如果您的数据格式如下:
<Person>
<Id>1</Id>
<FirstName>John</FirstName>
<LastName>Smith</LastName>
</Person>
然后这个 C# 代码将反序列化为 Person 的一个实例
//assuming you have a string called "data" that contains the above XML.
XDocument xd=XDocument.Parse(data); //needs System.Xml.Linq for XDocument type.
using(var reader = xd.CreateReader())
{
using(XmlSerializer ser = new XmlSerializer(typeof(Person))
{
Person p = ser.Deserialize(reader) as Person;
//p will be null if it didn't work, so make sure to check it!
}
}
请注意,反序列化器区分大小写,因此您需要确保元素大小写与类中属性的大小写匹配(您可以通过使用告诉序列化器如何在此处映射它们的序列化器属性装饰您的属性来解决此问题)
普通的原生序列化器非常适合像这样的简单对象,但可能会在某些数据类型上绊倒你,比如 char、bool 等,所以请检查属性上的链接。
如果您想按照问题中提供的格式执行此操作,则需要编写一个自定义序列化程序,在您的情况下,我的建议是从您的文件中读取并使用XDocument从数据中生成 XML希望有帮助。