Ватсон Карли
Шрифт:
<QuantityPerUnit>10 boxes x 20 bags</QuantityPerUnit>
<UnitPrice>18</UnitPrice>
<UnitsInStock>39</UnitsInStock>
<UnitsOnOrder>0</UnitsOnOrder>
<ReorderLevel>10</ReorderLevel>
<Discontinued>false</Discontinued>
</products>
<products>
<ProductID>2</ProductID>
<ProductName>Chang</ProductName>
<SupplierID>1</SupplierID>
<CategoryID>1</CategoryID>
<QuantityPerUnit>24 - 12 oz bottles</QuantityPerUnit>
<UnitPrice>19</UnitPrice>
<UnitsInStock>17</UnitsInStock>
<UnitsOnOrder>40<UnitsOnOrder>
<ReorderLevel>25</ReorderLevel>
<Discontinued>false</Discontinued>
</products>
<suppliers>
<SupplierID>1</SupplierID>
<CompanyName>Exotiс Liquids</CompanyName>
<ContactName>Charlotte Cooper</ContactName>
<ContactTitle>Purchasing Manager</ContactTitle>
<Address>49 Gilbert St.</Address>
<City>London</City>
<PostalCode>EC1 4SD</PostalCode>
<Country>UK</Country>
<Phone>(171) 555-2222</Phone>
</suppliers>
<suppliers>
<Supplier ID>2</SupplierID>
<CompanyName>New Orleans Cajun Delights</CompanyName>
<ContactName>Shelley Burke</ContactName>
<ContactTitle>Order Adminisirator</ContactTitle>
<Address>P.O. Box 78934</Address>
<City>New Orleans</City>
<Region>LA</Region>
<PostalCode>70117</PostalCode>
<Country>USA</Country>
<Phone>(100) 555-4822</Phone>
<HomePage>#CAJUN.HTM#</HomePage>
</suppliers>
</XMLProducts>
Эта схема включает в себя обе таблицы данных
DataTables
, которые находились в DataSet
. Данные также содержат все данные из обеих таблиц. Несколько продуктов и поставщиков были удалены из окончательного файла, чтобы сэкономить пространство. Как и раньше, можно сохранить только схему или только данные, передавая соответствующий параметр XmlWriteMode
. Преобразование документа XML в данные ADO.NET
Предположим что имеется документ XML, который нужно поместить в
DataSet
ADO.NET. И вы хотите сделать это так. чтобы можно было загрузить XML в базу данных, или, может быть, связать данные с управляющим элементом данных .NET, таким как DataGrid
. Таким образом, можно будет на самом деле использовать документ XML в качестве хранилища данных, и можно будет полностью исключить накладные расходы, связанные с базой данных. Вот некоторый код для начала (ADOSample4
): private void button1_Click(object sender, System.EventArgs e) {
// создать новое множество данных (DataSet)
DataSet ds=new DataSet("XMLProducts");
//считать документ Xml в Dataset
ds.ReadXml("..\\..\\..\\prod.xml");
//загрузить данные в таблицу
detaGrid1.DataSource=ds;
dataGrid1.DataMember="products";
//создать новый XmlDataDocument