<?xml version="1.0" encoding="utf-8"?> <Company xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Employee name="x" age="30" /> <Employee name="y" age="32" /> </Company>
using System.Xml.Serialization; [XmlRoot(ElementName = "Company")] public class Company { public Company() { Employees = new List<Employee>(); } [XmlElement(ElementName = "Employee")] public List<Employee> Employees { get; set; } public Employee this[string name] { get { return Employees.FirstOrDefault(s => string.Equals(s.Name, name, StringComparison.OrdinalIgnoreCase)); } } } public class Employee { [XmlAttribute("name")] public string Name { get; set; } [XmlAttribute("age")] public string Age { get; set; } }
public static T DeserializeXml<T>(string str) { var serializer = new XmlSerializer(typeof(T)); object result; using (TextReader reader = new StringReader(str)) { result = serializer.Deserialize(reader); } return (T) result; }
var s = "--your xml string--"; var obj = Deserialize<CMS>(s);
References
https://www.delftstack.com/howto/csharp/deserialize-xml-to-object-in-csharp/
https://stackoverflow.com/questions/47158427/how-to-convert-xml-to-list-of-objects