下面的帮助写得很清楚 以下示例首先创建一个简单的 DataSet,该数据集包含一个 DataTable,两个列和十个行。通过调用 WriteXml 方法将 DataSet 架构和数据写入磁盘。创建另一个 DataSet,使用 ReadXml 方法为其填充架构和数据。[Visual Basic, C#] 注意 此示例显示如何使用 ReadXml 的一个重载版本。有关其他可用示例,请参阅单独的重载主题。 [Visual Basic] Private Sub DemonstrateReadWriteXMLDocumentWithXMLReader() ' Create a DataSet with one table and two columns. Dim OriginalDataSet As New DataSet("myDataSet") OriginalDataSet.Namespace = "NetFrameWork" Dim myTable As New DataTable("myTable") Dim c1 As New DataColumn("id", Type.GetType("System.Int32")) c1.AutoIncrement = True Dim c2 As New DataColumn("item") myTable.Columns.Add(c1) myTable.Columns.Add(c2) OriginalDataSet.Tables.Add(myTable) ' Add ten rows. Dim newRow As DataRow Dim i As Integer For i = 0 To 9 newRow = myTable.NewRow() newRow("item") = "item " + i.ToString() myTable.Rows.Add(newRow) Next i OriginalDataSet.AcceptChanges() ' Print out values of each table in the DataSet using the ' function defined below. PrintValues(OriginalDataSet, "Original DataSet") ' Write the XML schema and data to file with FileStream. Dim xmlFilename As String = "myXmlDocument.xml" ' Create FileStream Dim fsWriteXml As New System.IO.FileStream _ (xmlFilename, System.IO.FileMode.Create) ' Create an XmlTextWriter to write the file. Dim xmlWriter As New System.Xml.XmlTextWriter _ (fsWriteXml, System.Text.Encoding.Unicode) ' Use WriteXml to write the document. OriginalDataSet.WriteXml(xmlWriter) ' Close the FileStream. fsWriteXml.Close()
' Dispose of the original DataSet. OriginalDataSet.Dispose() ' Create a new DataSet. Dim newDataSet As New DataSet("New DataSet")
' Read the XML document back in. ' Create new FileStream to read schema with. Dim fsReadXml As New System.IO.FileStream _ (xmlFilename, System.IO.FileMode.Open) ' Create an XmlTextReader to read the file. Dim myXmlReader As New System.Xml.XmlTextReader(fsReadXml) ' Read the XML document into the DataSet. newDataSet.ReadXml(myXmlReader) ' Close the XmlTextReader myXmlReader.Close()
' Print out values of each table in the DataSet using the ' function defined below. PrintValues(newDataSet, "New DataSet") End Sub
Private Sub PrintValues(ds As DataSet, label As String) Console.WriteLine(ControlChars.Cr + label) Dim t As DataTable Dim r As DataRow Dim c As DataColumn For Each t In ds.Tables Console.WriteLine("TableName: " + t.TableName) For Each r In t.Rows For Each c In t.Columns Console.Write(ControlChars.Tab + " " + r(c).ToString()) Next c Console.WriteLine() Next r Next t End Sub [C#] private void DemonstrateReadWriteXMLDocumentWithXMLReader(){ // Create a DataSet with one table and two columns. DataSet OriginalDataSet = new DataSet("myDataSet"); OriginalDataSet.Namespace= "NetFrameWork"; DataTable myTable = new DataTable("myTable"); DataColumn c1 = new DataColumn("id", Type.GetType("System.Int32")); c1.AutoIncrement= true; DataColumn c2 = new DataColumn("item"); myTable.Columns.Add(c1); myTable.Columns.Add(c2); OriginalDataSet.Tables.Add(myTable); // Add ten rows. DataRow newRow; for(int i = 0; i < 10; i++){ newRow = myTable.NewRow(); newRow["item"]= "item " + i; myTable.Rows.Add(newRow); } OriginalDataSet.AcceptChanges(); // Print out values of each table in the DataSet using the // function defined below. PrintValues(OriginalDataSet, "Original DataSet"); // Write the XML schema and data to file with FileStream. string xmlFilename = "myXmlDocument.xml"; // Create FileStream System.IO.FileStream fsWriteXml = new System.IO.FileStream (xmlFilename, System.IO.FileMode.Create); // Create an XmlTextWriter to write the file. System.Xml.XmlTextWriter xmlWriter = new System.Xml.XmlTextWriter (fsWriteXml, System.Text.Encoding.Unicode); // Use WriteXml to write the document. OriginalDataSet.WriteXml(xmlWriter); // Close the FileStream. fsWriteXml.Close();
// Dispose of the original DataSet. OriginalDataSet.Dispose(); // Create a new DataSet. DataSet newDataSet = new DataSet("New DataSet");
// Read the XML document back in. // Create new FileStream to read schema with. System.IO.FileStream fsReadXml = new System.IO.FileStream (xmlFilename, System.IO.FileMode.Open); // Create an XmlTextReader to read the file. System.Xml.XmlTextReader myXmlReader = new System.Xml.XmlTextReader(fsReadXml); // Read the XML document into the DataSet. newDataSet.ReadXml(myXmlReader); // Close the XmlTextReader myXmlReader.Close(); // Print out values of each table in the DataSet using the // function defined below. PrintValues(newDataSet,"New DataSet"); }private void PrintValues(DataSet ds, string label){ Console.WriteLine("\n" + label); foreach(DataTable t in ds.Tables){ Console.WriteLine("TableName: " + t.TableName); foreach(DataRow r in t.Rows){ foreach(DataColumn c in t.Columns){ Console.Write("\t " + r[c] ); } Console.WriteLine(); } } } [C++, JScript] 没有可用于 C++ 或 JScript 的示例。若要查看 Visual Basic 或 C# 示例,请单击页左上角的语言筛选器按钮 。
StringReader reader = new StringReader(yourxmlstring);DataSet1.ReadXml(reader);ReadXml(string)--string是指文件名。
我使用
DataSet.ReadXml(ss);
提示
完全限定后路径太长。请确保路径少于 260 个字符
以下示例首先创建一个简单的 DataSet,该数据集包含一个 DataTable,两个列和十个行。通过调用 WriteXml 方法将 DataSet 架构和数据写入磁盘。创建另一个 DataSet,使用 ReadXml 方法为其填充架构和数据。[Visual Basic, C#] 注意 此示例显示如何使用 ReadXml 的一个重载版本。有关其他可用示例,请参阅单独的重载主题。
[Visual Basic]
Private Sub DemonstrateReadWriteXMLDocumentWithXMLReader()
' Create a DataSet with one table and two columns.
Dim OriginalDataSet As New DataSet("myDataSet")
OriginalDataSet.Namespace = "NetFrameWork"
Dim myTable As New DataTable("myTable")
Dim c1 As New DataColumn("id", Type.GetType("System.Int32"))
c1.AutoIncrement = True
Dim c2 As New DataColumn("item")
myTable.Columns.Add(c1)
myTable.Columns.Add(c2)
OriginalDataSet.Tables.Add(myTable)
' Add ten rows.
Dim newRow As DataRow
Dim i As Integer
For i = 0 To 9
newRow = myTable.NewRow()
newRow("item") = "item " + i.ToString()
myTable.Rows.Add(newRow)
Next i
OriginalDataSet.AcceptChanges()
' Print out values of each table in the DataSet using the
' function defined below.
PrintValues(OriginalDataSet, "Original DataSet")
' Write the XML schema and data to file with FileStream.
Dim xmlFilename As String = "myXmlDocument.xml"
' Create FileStream
Dim fsWriteXml As New System.IO.FileStream _
(xmlFilename, System.IO.FileMode.Create)
' Create an XmlTextWriter to write the file.
Dim xmlWriter As New System.Xml.XmlTextWriter _
(fsWriteXml, System.Text.Encoding.Unicode)
' Use WriteXml to write the document.
OriginalDataSet.WriteXml(xmlWriter)
' Close the FileStream.
fsWriteXml.Close()
' Dispose of the original DataSet.
OriginalDataSet.Dispose()
' Create a new DataSet.
Dim newDataSet As New DataSet("New DataSet")
' Read the XML document back in.
' Create new FileStream to read schema with.
Dim fsReadXml As New System.IO.FileStream _
(xmlFilename, System.IO.FileMode.Open)
' Create an XmlTextReader to read the file.
Dim myXmlReader As New System.Xml.XmlTextReader(fsReadXml)
' Read the XML document into the DataSet.
newDataSet.ReadXml(myXmlReader)
' Close the XmlTextReader
myXmlReader.Close()
' Print out values of each table in the DataSet using the
' function defined below.
PrintValues(newDataSet, "New DataSet")
End Sub
Private Sub PrintValues(ds As DataSet, label As String)
Console.WriteLine(ControlChars.Cr + label)
Dim t As DataTable
Dim r As DataRow
Dim c As DataColumn
For Each t In ds.Tables
Console.WriteLine("TableName: " + t.TableName)
For Each r In t.Rows
For Each c In t.Columns
Console.Write(ControlChars.Tab + " " + r(c).ToString())
Next c
Console.WriteLine()
Next r
Next t
End Sub
[C#]
private void DemonstrateReadWriteXMLDocumentWithXMLReader(){
// Create a DataSet with one table and two columns.
DataSet OriginalDataSet = new DataSet("myDataSet");
OriginalDataSet.Namespace= "NetFrameWork";
DataTable myTable = new DataTable("myTable");
DataColumn c1 = new DataColumn("id", Type.GetType("System.Int32"));
c1.AutoIncrement= true;
DataColumn c2 = new DataColumn("item");
myTable.Columns.Add(c1);
myTable.Columns.Add(c2);
OriginalDataSet.Tables.Add(myTable);
// Add ten rows.
DataRow newRow;
for(int i = 0; i < 10; i++){
newRow = myTable.NewRow();
newRow["item"]= "item " + i;
myTable.Rows.Add(newRow);
}
OriginalDataSet.AcceptChanges();
// Print out values of each table in the DataSet using the
// function defined below.
PrintValues(OriginalDataSet, "Original DataSet");
// Write the XML schema and data to file with FileStream.
string xmlFilename = "myXmlDocument.xml";
// Create FileStream
System.IO.FileStream fsWriteXml = new System.IO.FileStream
(xmlFilename, System.IO.FileMode.Create);
// Create an XmlTextWriter to write the file.
System.Xml.XmlTextWriter xmlWriter = new System.Xml.XmlTextWriter
(fsWriteXml, System.Text.Encoding.Unicode);
// Use WriteXml to write the document.
OriginalDataSet.WriteXml(xmlWriter);
// Close the FileStream.
fsWriteXml.Close();
// Dispose of the original DataSet.
OriginalDataSet.Dispose();
// Create a new DataSet.
DataSet newDataSet = new DataSet("New DataSet");
// Read the XML document back in.
// Create new FileStream to read schema with.
System.IO.FileStream fsReadXml = new System.IO.FileStream
(xmlFilename, System.IO.FileMode.Open);
// Create an XmlTextReader to read the file.
System.Xml.XmlTextReader myXmlReader =
new System.Xml.XmlTextReader(fsReadXml);
// Read the XML document into the DataSet.
newDataSet.ReadXml(myXmlReader);
// Close the XmlTextReader
myXmlReader.Close(); // Print out values of each table in the DataSet using the
// function defined below.
PrintValues(newDataSet,"New DataSet");
}private void PrintValues(DataSet ds, string label){
Console.WriteLine("\n" + label);
foreach(DataTable t in ds.Tables){
Console.WriteLine("TableName: " + t.TableName);
foreach(DataRow r in t.Rows){
foreach(DataColumn c in t.Columns){
Console.Write("\t " + r[c] );
}
Console.WriteLine();
}
}
}
[C++, JScript] 没有可用于 C++ 或 JScript 的示例。若要查看 Visual Basic 或 C# 示例,请单击页左上角的语言筛选器按钮 。