使用C#从XML反序列化数组/序列对象的最简单方法是使用XmlSerializer类。XmlSerializer类提供了将XML数据反序列化为对象的功能。
以下是使用XmlSerializer类反序列化数组/序列对象的步骤:
如果使用XmlDocument加载了XML数据,可以使用以下代码:
Person[] persons = (Person[])serializer.Deserialize(xmlDocument.CreateReader());
在上述代码中,"Person[]"表示要反序列化的对象类型是Person类的数组。
以下是一个完整的示例代码:
using System;
using System.IO;
using System.Xml.Serialization;
[Serializable]
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class Program
{
public static void Main()
{
XmlSerializer serializer = new XmlSerializer(typeof(Person[]));
string xmlData = "<ArrayOfPerson><Person><Name>John</Name><Age>30</Age></Person><Person><Name>Jane</Name><Age>25</Age></Person></ArrayOfPerson>";
using (StringReader stringReader = new StringReader(xmlData))
{
Person[] persons = (Person[])serializer.Deserialize(stringReader);
foreach (Person person in persons)
{
Console.WriteLine("Name: " + person.Name);
Console.WriteLine("Age: " + person.Age);
Console.WriteLine();
}
}
}
}
在上述示例中,我们创建了一个名为Person的类,并使用Serializable属性标记该类。然后,我们使用XmlSerializer类将XML数据反序列化为Person类的数组。最后,我们遍历persons数组并打印每个人的姓名和年龄。
腾讯云提供了一系列云计算相关的产品,包括云服务器、云数据库、云存储等。您可以根据具体需求选择适合的产品。更多关于腾讯云产品的信息,请访问腾讯云官方网站:https://cloud.tencent.com/。
领取专属 10元无门槛券
手把手带您无忧上云