///
/// ArrayOfXElement装换为泛型集合
///
///
/// ArrayOfXElement
/// 待转换数据表名称
///
public static IList ArrayOfXElementToIList(ArrayOfXElement p_Data, string p_TableName)
{
// 返回值初始化
IList result = new List();
string sname, svalue;
foreach (XElement el in p_Data.Nodes.Descendants(p_TableName))
{
T _t = (T)Activator.CreateInstance(typeof(T));
PropertyInfo[] propertys = _t.GetType().GetProperties();
foreach (XElement ell in el.Nodes())
{
sname = ell.Name.ToString();
svalue = ell.Value;
foreach (PropertyInfo pi in propertys)
{
// 属性与字段名称一致的进行赋值
if (pi.Name.ToLower().Equals(sname.ToLower()))
{
pi.SetValue(_t, svalue, null);
}
}
}
result.Add(_t);
}
return result;
}