You have some data in a DataSet object, and you would like to export it to an XML file for later reimportation.
Use the DataSet's WriteXML() method to send the DataSet content to the file in a common XML format.
Recipe 13.8 builds a DataTable object with two state-specific records. The following code adds that table to a DataSet object and writes its records to an XML file:
Dim fullDataSet As New Data.DataSet fullDataSet.Tables.Add(stateTable) fullDataSet.WriteXml("C:\StateInfo.xml")
These statements generate the following XML content:
<?xml version="1.0" standalone="yes"?> <NewDataSet> <UnitedStates> <ShortName>WA</ShortName> <FullName>Washington</FullName> <Admission>1889-11-11T00:00:00-08:00</Admission> <Population>5894121</Population> </UnitedStates> <UnitedStates> <ShortName>MT</ShortName> <FullName>Montana</FullName> <Admission>1889-11-08T00:00:00-08:00</Admission> <Population>902195</Population> </UnitedStates> </NewDataSet>
You can also output the XML directly from the DataTable object without using a DataSet object:
ADO.NET was designed with an understanding of data from an XML perspective. Publicly, it exposes this awareness through several XML-specific methods, including the WriteXML() method. The schema generated with this XML database is crafted for efficient processing by ADO.NET. When you later import the exported data from the XML file to a DataSet or DataTable object, ADO.NET will complain if the data doesn't match a format it understands.
To access the schema that matches the exported data, use the related WriteXMLSchema() method:
Recipe 13.10 shows you how to bring the exported data back into a DataSet object.