如何将此xml数据添加到数据集?

时间:2012-01-30 09:57:26

标签: c# .net wpf visual-studio ado.net

以前我的xml就像这样

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <supplier>
    <s_code>1</s_code>
    <net_weight>100</net_weight>
    <rate>100.00</rate>
  </supplier>

  <supplier>
    <s_code>2</s_code>
    <net_weight>500</net_weight>
    <rate>150.00</rate>
  </supplier>
</root>

所以我创建了一个数据集,并添加了与此类似的列,并使用此代码将数据加载到数据集中,并使用数据集创建水晶报告。

    DataSet reportData = new DataSet();
    reportData.ReadXml("http://192.168.1.10/test/data.xml");

    DataSet dset = new DataSet1();
    dset.Tables[0].Merge(reportData.Tables[0]);

    ReportDocument report = new CrystalReport1();
    report.SetDataSource(dset.Tables[0]);
    reportViewer.ViewerCore.ReportSource = report;

所以现在我需要添加更多信息来报告,xml看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <supplier>
    <s_code>1</s_code>
    <net_weight>100</net_weight>
    <rate>100.00</rate>

    <items>
      <item_code>SKU001</items_code>
      <price>100</price>
    </items>
    <items>
      <item_code>SKU002</items_code>
      <price>200</price>
    </items>

  </supplier>

  <supplier>
    <s_code>2</s_code>
    <net_weight>500</net_weight>
    <rate>150.00</rate>

    <items>
      <item_code>SKU001</items_code>
      <price>100</price>
    </items>

  </supplier>

</root>

所以任何想法如何将项目插入数据集并在报告中使用它?

此致

1 个答案:

答案 0 :(得分:0)

您需要使用嵌套关系定义数据集。 有关详细信息,请参阅Nesting DataRelations

您可以使用vs2002 .. vs2010数据集设计器执行此操作:

  • 创建表格supplieritems
    • 使shure两个表都有一个字段s_code
  • 创建表supplieritems之间的关系
    • 使用字段s_code作为关系链接
    • 将关系标记为嵌套

执行代码后,项目应低于其父母。