FWIW 这是 LINQ 查询,它将 XML 文档转换为对象集合:
var coll = from XElement c in doc.Descendants("Data")
select new {
Name = c.Element("Name").Value,
Age = int.Parse(c.Element("Age").Value)
};
但我认为您真正需要的是一种将 XML 文档直接绑定到 DataGrid 的方法。一种方法是将 DataGrid 绑定到 DataTable 并使用其 WriteXml/ReadXml 方法来读取/写入文件。
在预览中......我错过了传入 XML 的结构未知的要求。您可以在不知道数据块结构的情况下使用此 LINQ 构建对象集合的集合:
var coll = from XElement c in loaded.Descendants("Data")
select (from XElement d in c.Elements() select d.Value);
或者您可以使用以下命令生成 CSV:
string csv = string.Join(Environment.NewLine,
( from XElement c in loaded.Descendants("Data")
select string.Join(",",
(from XElement d in c.Elements() select d.Value).ToArray())
).ToArray());