我正在尝试查找.NET代码以将匿名对象列表转换为XML字符串,但到目前为止失败了。匿名对象不包含任何子列表,而只是一组值。如果将匿名类型传递给XmlSerializer类,则该类将引发异常。任何人都可以提供代码来做到这一点吗?
答案 0 :(得分:0)
编写函数可以做到这一点非常简单:
public XElement ListToXML<T>(List<T> list)
{
var result = new XElement("Data");
var props = typeof(T).GetProperties();
foreach (var item in list)
{
var line = new XElement("Record");
foreach (var prop in props)
{
var value = prop.GetValue(item);
var element = new XElement(prop.Name, value);
line.Add(element);
}
result.Add(line);
}
return result;
}