C# 将xml动态加载到WPF数据网格中

C# 将xml动态加载到WPF数据网格中,c#,xml,wpf,C#,Xml,Wpf,如何从XML填充WPF数据网格,我只知道它将包含一系列元素,而不包含名称或属性 当我得到数据时,它是一个XmlNodes数组的形状。这有用吗 我尝试过与XmlDataProvider等的各种组合 有什么想法吗?这就成功了: var sb = new StringBuilder("<root>"); foreach (var node in xmlNodes) { sb.Append

如何从XML填充WPF数据网格,我只知道它将包含一系列元素,而不包含名称或属性

当我得到数据时,它是一个XmlNodes数组的形状。这有用吗

我尝试过与XmlDataProvider等的各种组合

有什么想法吗?

这就成功了:

            var sb = new StringBuilder("<root>");
            foreach (var node in xmlNodes)
            {
                sb.AppendLine(node.OuterXml);
            }
            sb.AppendLine("</root>");
            var ds = new DataSet();
            ds.ReadXml(new StringReader(sb.ToString()));


            return ds.Tables[0];
var sb=新的StringBuilder(“”);
foreach(xmlNodes中的var节点)
{
sb.AppendLine(node.OuterXml);
}
某人加上一行(“”);
var ds=新数据集();
ReadXml(新的StringReader(sb.ToString());
返回ds.表[0];

我知道有点难看,所以请务必让我知道您是否有更优雅的解决方案。

最简单的方法是从
xml
构建
DataSet
并绑定数据集

<DataGrid Name="dataGrid1" ItemsSource="{Binding}" AutoGenerateColumns="true"/>

你想要的结果是什么,马格纳斯?您是否可以发布一些输入的示例,以及您希望网格如何输出它们?
string myXMLfile = @"C:\myfile.xml";
DataSet ds = new DataSet();

// Create new FileStream with which to read the schema.
System.IO.FileStream fsReadXml = new System.IO.FileStream 
    (myXMLfile, System.IO.FileMode.Open);
try
{
    ds.ReadXml(fsReadXml);
    dataGrid1.DataSource = ds.Table[0].DefaultView; 
    // or  dataGrid1.DataSource = ds;    
}
finally
{
    fsReadXml.Close();
}