C# 将xml动态加载到WPF数据网格中
如何从XML填充WPF数据网格,我只知道它将包含一系列元素,而不包含名称或属性 当我得到数据时,它是一个XmlNodes数组的形状。这有用吗 我尝试过与XmlDataProvider等的各种组合 有什么想法吗?这就成功了: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
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();
}