从xml文件读入数据表和网格视图

时间:2013-12-30 11:59:54

标签: c# xml

我的xml如下所示

<Expression>
    <Field>X</Field>
    <Formula>a+b</Formula>          
</Expression>
<Expression>
    <Field>Y</Field>
    <Formula>a-b</Formula>          
</Expression>
<Expression>
    <Field>Z</Field>
    <Formula>a*b</Formula>          
</Expression>

我的c#page

DataSet ds = new DataSet();           
ds.ReadXml(@"C:\\Test.xml");
GridView1.DataSource = ds;
GridView1.DataMember = ds.Tables[0].ToString();
GridView1.DataBind();

它一直向我显示错误:

  

有多个根元素。第6行,第4位。

1 个答案:

答案 0 :(得分:3)

Xml文件must have single root element,其他元素为子元素。目前,您在根级别上有多个Expression个元素。将它们包装到某个Expressions元素中以使您的xml文件有效:

<Expressions>
  <Expression>
    <Field>X</Field>
    <Formula>a+b</Formula>
  </Expression>
  <Expression>
    <Field>Y</Field>
    <Formula>a-b</Formula>
  </Expression>
  <Expression>
    <Field>Z</Field>
    <Formula>a*b</Formula>
  </Expression>
</Expressions>

您的xml加载代码有效。它使用名为 Expression 的单个DataTable创建DataSet。该表有两列( Field Formula )和三行数据。