嵌套树(或XML)到数据表

时间:2014-06-21 19:05:25

标签: 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>
    <student id=2>
        <course cid=1 name="cse" />
        <course cid=2 name="eee" />
        <course cid=3 name="mech" />
        <course cid=4 name="it" />
    </studnet>

我想以这种格式将其保存在数据表中

id    cid    name
1     1      cse
1     2      ece
1     3      mech
1     4      it
2     1      cse
2     2      eee
2     3      mech
2     4      it

目前我正在解析XML文件并在树数据结构中强化它

class Node{
    string Text;
    List<Attribute> Attributes;
    List<Node> Children;
}
class Attribute{
    string name;
    string value;
}

我可以解析XML并将其存储在任何数据结构中。 XML文件可以具有任何格式和属性,这就是为什么我使用了Type of Type属性而没有为类定义特定属性(id,cis等)的原因。

知道我如何将从XML创建的树转换为datatable。我计划绑定此数据并将其绑定到datagrid,然后再将其保存为XML。

2 个答案:

答案 0 :(得分:0)

要将XML绑定到datatable,您可以使用此

DataTable dt = new DataTable();
 dt.ReadXml();

答案 1 :(得分:0)

看看其中的一些简单示例,它们将类与XML串行化。此示例返回一个List,可以使用DataGrid的DataSource

http://nakdev.somee.com/#1&C54B782F02A748E0BCCDFE50B0586BA2&cs

此示例演示如何将DataGrid的DataSource设置为DataSet

http://nakdev.somee.com/#2&1BC37606DFD843EC94249A93B4BD17A2&cs