none
ASP.NET如何将数据表和XML同时绑定 RRS feed

  • 问题

  • 我现在有一个数据表!有个XML文件里面存有数据表里的信息!和每一条记录都对应!
    将这两个里面的数据同时绑定在数据控件上!应该如何操作呢?希望各位大虾们指点!谢谢!
    2010年4月12日 5:54

答案

  • 数据表和XML的数据分别存入DataTable中,然后合并成一个DT

    2010年4月12日 6:11
  • 能不能把具体的方法发过来   谢谢了!

     


    DataTable dt = new DataTable();
                dt.Columns.Add("id", typeof(int));
                dt.Columns.Add("name", typeof(string));
    
                DataRow dr = null;
    
                for (int k = 0; k < 20; k++)
                {
                    dr = dt.NewRow();
                    dr[0] = k;
                    dr[1] = "lee" + k;
                    dt.Rows.Add(dr);
                }
    
                DataSet ds = new DataSet();
                ds.Tables.Add(dt);
                ds.WriteXml(@"C:\Documents and Settings\leekong\Desktop\1.xml", XmlWriteMode.IgnoreSchema);
    
    
                DataSet newDataSet = new DataSet();
                newDataSet.ReadXml(@"C:\Documents and Settings\leekong\Desktop\1.xml");

    2010年4月12日 6:59

全部回复

  • 数据表和XML的数据分别存入DataTable中,然后合并成一个DT

    2010年4月12日 6:11
  • DataSet有个方法叫ReadXml,可以把你的xml读进dataset里面,然后你在dataset里面,再add上你的另外一个datatable就可以了。

    这个时候DataSet里面就2个表了,一个xml文件的表,一个你的数据表。

     

    关于xml格式,大概如下:

    <?xml version="1.0" standalone="yes"?>
    <NewDataSet>
      <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
        <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
          <xs:complexType>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
              <xs:element name="Table1">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="id" type="xs:int" minOccurs="0" />
                    <xs:element name="name" type="xs:string" minOccurs="0" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:choice>
          </xs:complexType>
        </xs:element>
      </xs:schema>
      <Table1>
        <id>0</id>
        <name>lee0</name>
      </Table1>
      <Table1>
        <id>1</id>
        <name>lee1</name>
      </Table1>
      <Table1>
        <id>2</id>
        <name>lee2</name>
      </Table1>
      <Table1>
        <id>3</id>
        <name>lee3</name>
      </Table1>
      <Table1>
        <id>4</id>
        <name>lee4</name>
      </Table1>
      <Table1>
        <id>5</id>
        <name>lee5</name>
      </Table1>
      <Table1>
        <id>6</id>
        <name>lee6</name>
      </Table1>
      <Table1>
        <id>7</id>
        <name>lee7</name>
      </Table1>
      <Table1>
        <id>8</id>
        <name>lee8</name>
      </Table1>
      <Table1>
        <id>9</id>
        <name>lee9</name>
      </Table1>
      <Table1>
        <id>10</id>
        <name>lee10</name>
      </Table1>
      <Table1>
        <id>11</id>
        <name>lee11</name>
      </Table1>
      <Table1>
        <id>12</id>
        <name>lee12</name>
      </Table1>
      <Table1>
        <id>13</id>
        <name>lee13</name>
      </Table1>
      <Table1>
        <id>14</id>
        <name>lee14</name>
      </Table1>
      <Table1>
        <id>15</id>
        <name>lee15</name>
      </Table1>
      <Table1>
        <id>16</id>
        <name>lee16</name>
      </Table1>
      <Table1>
        <id>17</id>
        <name>lee17</name>
      </Table1>
      <Table1>
        <id>18</id>
        <name>lee18</name>
      </Table1>
      <Table1>
        <id>19</id>
        <name>lee19</name>
      </Table1>
    </NewDataSet>

    2010年4月12日 6:14
  • 能不能把具体的方法发过来   谢谢了!

     

    2010年4月12日 6:55
  • 能不能把具体的方法发过来   谢谢了!

     


    DataTable dt = new DataTable();
                dt.Columns.Add("id", typeof(int));
                dt.Columns.Add("name", typeof(string));
    
                DataRow dr = null;
    
                for (int k = 0; k < 20; k++)
                {
                    dr = dt.NewRow();
                    dr[0] = k;
                    dr[1] = "lee" + k;
                    dt.Rows.Add(dr);
                }
    
                DataSet ds = new DataSet();
                ds.Tables.Add(dt);
                ds.WriteXml(@"C:\Documents and Settings\leekong\Desktop\1.xml", XmlWriteMode.IgnoreSchema);
    
    
                DataSet newDataSet = new DataSet();
                newDataSet.ReadXml(@"C:\Documents and Settings\leekong\Desktop\1.xml");

    2010年4月12日 6:59
  • 我怎么确定我数据表里的每条记录和XML里面的数据对应?

    我做删除修改的时候怎么获取?

    2010年4月12日 10:41