积极答复者
ASP.NET如何将数据表和XML同时绑定

问题
答案
-
-
能不能把具体的方法发过来 谢谢了!
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");
- 已标记为答案 KeFang Chen 2010年4月16日 6:10
全部回复
-
-
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> -
能不能把具体的方法发过来 谢谢了!
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");
- 已标记为答案 KeFang Chen 2010年4月16日 6:10