我有一个XML文件,想要将其插入数据表中。
xml文件的格式如下:

<userid ID="37729">
  <TestId ID="84" TimeRemaining="60" />
  <QuestId ID="1">
    <Answer1>
    </Answer1>
    <Answer2>B</Answer2>
    <Answer3>
    </Answer3>
    <Answer4>
    </Answer4>
  </QuestId>
</userid>

现在,我想将其插入如下所示的数据表中:
Question Id     Answer1      Answer2        Answer3        Answer4
1                 A                                         D

2                             B              C

3                                            C

任何人都可以帮助我实现这一目标。

最佳答案

我将首先使用所需的列创建一个DataTable,然后通过Linq-to-XML进行填充。

您可以使用Select查询创建代表每一行的对象,然后使用标准方法为每个项目创建DataRows ...

class Quest
{
    public string Answer1;
    public string Answer2;
    public string Answer3;
    public string Answer4;
}

public static void Main()
{
    var doc = XDocument.Load("filename.xml");

    var rows = doc.Descendants("QuestId").Select(el => new Quest
    {
        Answer1 = el.Element("Answer1").Value,
        Answer2 = el.Element("Answer2").Value,
        Answer3 = el.Element("Answer3").Value,
        Answer4 = el.Element("Answer4").Value,
    });

    // iterate over the rows and add to DataTable ...

}

10-04 21:12