DataSet有多个DataTable,输出的XML的内容和格式

2018-01-08 16:14:52  访问(3150) 赞(0) 踩(0)

输出的XML

<NewDataSet>
  <TableOne>
    <ID>1</ID>
    <TheName>one</TheName>
  </TableOne>
  <TableOne>
    <ID>2</ID>
    <TheName>two</TheName>
  </TableOne>
  <TableOne>
    <ID>3</ID>
    <TheName>three</TheName>
  </TableOne>
  <TableTwo>
    <Guid>1</Guid>
    <Name>gOne</Name>
    <Code>codeOne</Code>
  </TableTwo>
  <TableTwo>
    <Guid>2</Guid>
    <Name>gTwo</Name>
    <Code>codeTwo</Code>
  </TableTwo>
</NewDataSet>

生成的代码

using System;
using System.Data;

public partial class WebForms_Test_TestOne : System.Web.UI.Page
{

    /// <summary>
    /// 
    /// </summary>
    /// <returns></returns>
    protected DataTable DataTableOne()
    {
        DataTable theResult = new DataTable();
        theResult.Columns.Add("ID");
        theResult.Columns.Add("TheName");

        DataRow dr = null;

        dr = theResult.NewRow();
        theResult.Rows.Add(dr);

        dr["ID"] = "1";
        dr["TheName"] = "one";

        dr = theResult.NewRow();
        theResult.Rows.Add(dr);

        dr["ID"] = "2";
        dr["TheName"] = "two";

        dr = theResult.NewRow();
        theResult.Rows.Add(dr);

        dr["ID"] = "3";
        dr["TheName"] = "three";

        return theResult;
    }


    /// <summary>
    /// 
    /// </summary>
    /// <returns></returns>
    protected DataTable DataTableTwo()
    {
        DataTable theResult = new DataTable();
        theResult.Columns.Add("Guid");
        theResult.Columns.Add("Name");
        theResult.Columns.Add("Code");

        DataRow dr = null;

        dr = theResult.NewRow();
        theResult.Rows.Add(dr);

        dr["Guid"] = "1";
        dr["Name"] = "gOne";
        dr["Code"] = "codeOne";


        dr = theResult.NewRow();
        theResult.Rows.Add(dr);

        dr["Guid"] = "2";
        dr["Name"] = "gTwo";
        dr["Code"] = "codeTwo";

        return theResult;
    }

    protected void DataBindTheControls()
    {
        DataSet ds = new DataSet();
        DataTable dt = null;
        
        dt = DataTableOne();
        dt.TableName = "TableOne";
        ds.Tables.Add(dt);

        dt = DataTableTwo();
        dt.TableName = "TableTwo";
        ds.Tables.Add(dt);

        txt_Output.Text = ds.GetXml();
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        DataBindTheControls();
    }
}


变种提示:
当设置TableName相同的时候:如TableName = "TableOne"

则在ds.Tables.Add(dt);会发生:

名为“TableOne”的 DataTable 已属于此 DataSet。


的异常


上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)