C# 数据表的嵌套树(或XML)
我有一个这样的嵌套XML文件C# 数据表的嵌套树(或XML),c#,xml,wpf,C#,Xml,Wpf,我有一个这样的嵌套XML文件 <students> <student id=1> <course cid=1 name="cse" /> <course cid=2 name="eee" /> <course cid=3 name="mech" /> <course cid=4 name="it" /> </studnet>
<students>
<student id=1>
<course cid=1 name="cse" />
<course cid=2 name="eee" />
<course cid=3 name="mech" />
<course cid=4 name="it" />
</studnet>
<student id=2>
<course cid=1 name="cse" />
<course cid=2 name="eee" />
<course cid=3 name="mech" />
<course cid=4 name="it" />
</studnet>
目前,我正在解析XML文件,并在树数据结构中增强它
class Node{
string Text;
List<Attribute> Attributes;
List<Node> Children;
}
class Attribute{
string name;
string value;
}
类节点{
字符串文本;
列出属性;
列出儿童名单;
}
类属性{
字符串名;
字符串值;
}
我可以解析XML并将其存储在任何数据结构中。XML文件可以有任何格式和属性,这就是为什么我使用了Attribute类型的子类,而没有为类定义特定属性(id、CI等)
知道如何将从XML创建的树转换为datatable吗。我计划将此datarable绑定到datagrid并再次将其保存到XML中。要将XML绑定到datatable,可以使用
DataTable dt = new DataTable();
dt.ReadXml();
看看其中一些简单的示例,它们将类序列化为XML和XML之间的对象。此示例返回一个列表,该列表可用于DataGrid的数据源 此示例演示如何将DataGrid的DataSource设置为DataSet
您可以使用
XmlDataProvider
将XML直接绑定到datagrid。如何使用dt.ReadXml()自动读取XML
数据代码>?您好,ReadXML方法有4个重载,您可以使用其中任何一个将XML文件加载到Datatable
DataTable dt = new DataTable();
dt.ReadXml();