DataSet.WriteXml 方法
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 DataSet写入 XML 数据以及架构(可选)。
WriteXml(XmlWriter, XmlWriteMode) |
使用指定的 XmlWriter 和 XmlWriteMode写入 DataSet 的当前数据和架构(可选)。 若要编写架构,请将 |
WriteXml(String, XmlWriteMode) |
使用指定的 XmlWriteMode将 DataSet 的当前数据和架构写入指定文件。 若要编写架构,请将 |
WriteXml(TextWriter, XmlWriteMode) |
使用指定的 TextWriter 和 XmlWriteMode写入 DataSet 的当前数据和架构(可选)。 若要编写架构,请将 |
WriteXml(Stream, XmlWriteMode) |
使用指定的 Stream 和 XmlWriteMode写入 DataSet 的当前数据和架构(可选)。 若要编写架构,请将 |
WriteXml(String) |
将 DataSet 的当前数据写入指定文件。 |
WriteXml(TextWriter) |
使用指定的 TextWriter写入 DataSet 的当前数据。 |
WriteXml(XmlWriter) | |
WriteXml(Stream) |
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
使用指定的 XmlWriter 和 XmlWriteMode写入 DataSet 的当前数据和架构(可选)。 若要编写架构,请将 mode
参数的值设置为 WriteSchema
。
public:
void WriteXml(System::Xml::XmlWriter ^ writer, System::Data::XmlWriteMode mode);
public void WriteXml (System.Xml.XmlWriter? writer, System.Data.XmlWriteMode mode);
public void WriteXml (System.Xml.XmlWriter writer, System.Data.XmlWriteMode mode);
member this.WriteXml : System.Xml.XmlWriter * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (writer As XmlWriter, mode As XmlWriteMode)
参数
- mode
- XmlWriteMode
XmlWriteMode 值之一。
示例
以下示例创建一个 System.IO.FileStream 对象,该对象用于创建新 XmlTextWriter。 XmlTextWriter 对象与 WriteXml 方法一起使用,用于编写 XML 文档。
private void WriteXmlToFile(DataSet thisDataSet)
{
if (thisDataSet == null) { return; }
// Create a file name to write to.
string filename = "XmlDoc.xml";
// Create the FileStream to write with.
System.IO.FileStream stream = new System.IO.FileStream
(filename, System.IO.FileMode.Create);
// Create an XmlTextWriter with the fileStream.
System.Xml.XmlTextWriter xmlWriter =
new System.Xml.XmlTextWriter(stream,
System.Text.Encoding.Unicode);
// Write to the file with the WriteXml method.
thisDataSet.WriteXml(xmlWriter);
xmlWriter.Close();
}
Private Sub WriteXmlToFile(thisDataSet As DataSet)
If thisDataSet Is Nothing Then
Return
End If
' Create a file name to write to.
Dim filename As String = "XmlDoc.xml"
' Create the FileStream to write with.
Dim stream As New System.IO.FileStream _
(filename, System.IO.FileMode.Create)
' Create an XmlTextWriter with the fileStream.
Dim xmlWriter As New System.Xml.XmlTextWriter _
(stream, System.Text.Encoding.Unicode)
' Write to the file with the WriteXml method.
thisDataSet.WriteXml(xmlWriter)
xmlWriter.Close()
End Sub
注解
WriteXml
方法提供了一种方法,用于仅将数据和架构从 DataSet 写入 XML 文档,而 WriteXmlSchema 方法只写入架构。 若要同时写入数据和架构,请将 mode
参数设置为 WriteSchema
。
请注意,ReadXml 和 ReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet
中,请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
备注
如果要从 DataRow
读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException。
另请参阅
- 在 ADO.NET 中使用数据集
适用于
.NET 9 和其他版本
产品 | 版本 |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
使用指定的 XmlWriteMode将 DataSet 的当前数据和架构写入指定文件。 若要编写架构,请将 mode
参数的值设置为 WriteSchema
。
public:
void WriteXml(System::String ^ fileName, System::Data::XmlWriteMode mode);
public void WriteXml (string fileName, System.Data.XmlWriteMode mode);
member this.WriteXml : string * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (fileName As String, mode As XmlWriteMode)
参数
- fileName
- String
要写入的文件名(包括路径)。
- mode
- XmlWriteMode
XmlWriteMode 值之一。
例外
示例
以下示例使用 WriteXml 方法编写 XML 文档。
private void WriteXmlToFile(DataSet thisDataSet)
{
if (thisDataSet == null) { return; }
// Create a file name to write to.
string filename = "XmlDoc.xml";
// Write to the file with the WriteXml method.
thisDataSet.WriteXml(filename);
}
Private Sub WriteXmlToFile(thisDataSet As DataSet)
If thisDataSet Is Nothing Then
Return
End If
' Create a file name to write to.
Dim filename As String = "XmlDoc.xml"
' Write to the file with the WriteXml method.
thisDataSet.WriteXml(filename)
End Sub
注解
WriteXml
方法提供了一种方法,用于仅将数据和架构从 DataSet 写入 XML 文档,而 WriteXmlSchema 方法只写入架构。 若要同时写入数据和架构,请将 mode
参数设置为 WriteSchema
。
请注意,ReadXml 和 ReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet
中,请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
备注
如果要从 DataRow
读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException。
另请参阅
- 在 ADO.NET 中使用数据集
适用于
.NET 9 和其他版本
产品 | 版本 |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
使用指定的 TextWriter 和 XmlWriteMode写入 DataSet 的当前数据和架构(可选)。 若要编写架构,请将 mode
参数的值设置为 WriteSchema
。
public:
void WriteXml(System::IO::TextWriter ^ writer, System::Data::XmlWriteMode mode);
public void WriteXml (System.IO.TextWriter? writer, System.Data.XmlWriteMode mode);
public void WriteXml (System.IO.TextWriter writer, System.Data.XmlWriteMode mode);
member this.WriteXml : System.IO.TextWriter * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (writer As TextWriter, mode As XmlWriteMode)
参数
- writer
- TextWriter
用于写入文档的 TextWriter 对象。
- mode
- XmlWriteMode
XmlWriteMode 值之一。
示例
以下示例首先创建一个简单的 DataSet,其中包含一个 DataTable、两列和十行。 DataSet 架构和数据通过调用 WriteXml 方法写入磁盘。 创建第二个 DataSet,ReadXml 方法用于填充架构和数据。
private void DemonstrateReadWriteXMLDocumentWithFileStream()
{
// Create a DataSet with one table and two columns.
DataSet originalDataSet = new DataSet("dataSet");
DataTable table = new DataTable("table");
DataColumn idColumn = new DataColumn("id",
Type.GetType("System.Int32"));
idColumn.AutoIncrement= true;
DataColumn itemColumn = new DataColumn("item");
table.Columns.Add(idColumn);
table.Columns.Add(itemColumn);
originalDataSet.Tables.Add(table);
// Add ten rows.
DataRow newRow;
for(int i = 0; i < 10; i++)
{
newRow = table.NewRow();
newRow["item"]= "item " + i;
table.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 schema and data to XML file with FileStream.
string xmlFilename = "XmlDocument.xml";
System.IO.FileStream streamWrite = new System.IO.FileStream
(xmlFilename, System.IO.FileMode.Create);
// Use WriteXml to write the XML document.
originalDataSet.WriteXml(streamWrite);
// Close the FileStream.
streamWrite.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 streamRead = new System.IO.FileStream
(xmlFilename,System.IO.FileMode.Open);
newDataSet.ReadXml(streamRead);
// Print out values of each table in the DataSet
// using the function defined below.
PrintValues(newDataSet,"New DataSet");
}
private void PrintValues(DataSet dataSet, string label)
{
Console.WriteLine("\n" + label);
foreach(DataTable table in dataSet.Tables)
{
Console.WriteLine("TableName: " + table.TableName);
foreach(DataRow row in table.Rows)
{
foreach(DataColumn column in table.Columns)
{
Console.Write("\table " + row[column] );
}
Console.WriteLine();
}
}
}
Private Sub DemonstrateReadWriteXMLDocumentWithFileStream()
' Create a DataSet with one table and two columns.
Dim originalDataSet As New DataSet("dataSet")
Dim table As New DataTable("table")
Dim idColumn As New DataColumn("id", _
Type.GetType("System.Int32"))
idColumn.AutoIncrement = True
Dim itemColumn As New DataColumn("item")
table.Columns.Add(idColumn)
table.Columns.Add(itemColumn)
originalDataSet.Tables.Add(table)
' Add ten rows.
Dim newRow As DataRow
Dim i As Integer
For i = 0 To 9
newRow = table.NewRow()
newRow("item") = "item " & i.ToString()
table.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 schema and data to XML file with FileStream.
Dim xmlFilename As String = "XmlDocument.xml"
Dim streamWrite As New System.IO.FileStream _
(xmlFilename, System.IO.FileMode.Create)
' Use WriteXml to write the XML document.
originalDataSet.WriteXml(streamWrite)
' Close the FileStream.
streamWrite.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 streamRead As New System.IO.FileStream _
(xmlFilename, System.IO.FileMode.Open)
newDataSet.ReadXml(streamRead)
' Print out values of each table in the DataSet
' using the function defined below.
PrintValues(newDataSet, "New DataSet")
End Sub
Private Sub PrintValues(dataSet As DataSet, label As String)
Console.WriteLine(ControlChars.Cr & label)
Dim table As DataTable
Dim row As DataRow
Dim column As DataColumn
For Each table In dataSet.Tables
Console.WriteLine("TableName: " & table.TableName)
For Each row In table.Rows
For Each column In table.Columns
Console.Write(ControlChars.Tab & " " & _
row(column).ToString())
Next column
Console.WriteLine()
Next row
Next table
End Sub
注解
WriteXml
方法提供了一种方法,用于仅将数据和架构从 DataSet 写入 XML 文档,而 WriteXmlSchema 方法只写入架构。 若要同时写入数据和架构,请将 mode
参数设置为 WriteSchema
。
请注意,ReadXml 和 ReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet
中,请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
备注
如果要从 DataRow
读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException。
另请参阅
- 在 ADO.NET 中使用数据集
适用于
.NET 9 和其他版本
产品 | 版本 |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
使用指定的 Stream 和 XmlWriteMode写入 DataSet 的当前数据和架构(可选)。 若要编写架构,请将 mode
参数的值设置为 WriteSchema
。
public:
void WriteXml(System::IO::Stream ^ stream, System::Data::XmlWriteMode mode);
public void WriteXml (System.IO.Stream? stream, System.Data.XmlWriteMode mode);
public void WriteXml (System.IO.Stream stream, System.Data.XmlWriteMode mode);
member this.WriteXml : System.IO.Stream * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (stream As Stream, mode As XmlWriteMode)
参数
- mode
- XmlWriteMode
XmlWriteMode 值之一。
注解
WriteXml
方法提供了一种方法,用于仅将数据和架构从 DataSet 写入 XML 文档,而 WriteXmlSchema 方法只写入架构。 若要同时写入数据和架构,请将 mode
参数设置为 WriteSchema
。
请注意,ReadXml 和 ReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet
中,请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
备注
如果要从 DataRow
读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException。
另请参阅
- 在 ADO.NET 中使用数据集
适用于
.NET 9 和其他版本
产品 | 版本 |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
将 DataSet 的当前数据写入指定文件。
public:
void WriteXml(System::String ^ fileName);
public void WriteXml (string fileName);
member this.WriteXml : string -> unit
Public Sub WriteXml (fileName As String)
参数
- fileName
- String
要写入的文件名(包括路径)。
例外
注解
WriteXml
方法提供了一种方法,用于仅将数据和架构从 DataSet 写入 XML 文档,而 WriteXmlSchema 方法只写入架构。 若要同时写入数据和架构,请使用包含 mode
参数的重载之一,并将其值设置为 WriteSchema
。
请注意,ReadXml 和 ReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet
中,请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
备注
如果要从 DataRow
读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException。
另请参阅
- 在 ADO.NET 中使用数据集
适用于
.NET 9 和其他版本
产品 | 版本 |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
使用指定的 TextWriter写入 DataSet 的当前数据。
public:
void WriteXml(System::IO::TextWriter ^ writer);
public void WriteXml (System.IO.TextWriter? writer);
public void WriteXml (System.IO.TextWriter writer);
member this.WriteXml : System.IO.TextWriter -> unit
Public Sub WriteXml (writer As TextWriter)
参数
- writer
- TextWriter
要写入 TextWriter 对象。
注解
WriteXml
方法提供了一种方法,用于仅将数据和架构从 DataSet 写入 XML 文档,而 WriteXmlSchema 方法只写入架构。 若要同时写入数据和架构,请使用包含 mode
参数的重载之一,并将其值设置为 WriteSchema
。
请注意,ReadXml 和 ReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet
中,请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
备注
如果要从 DataRow
读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException。
另请参阅
- 在 ADO.NET 中使用数据集
适用于
.NET 9 和其他版本
产品 | 版本 |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
public:
void WriteXml(System::Xml::XmlWriter ^ writer);
public void WriteXml (System.Xml.XmlWriter? writer);
public void WriteXml (System.Xml.XmlWriter writer);
member this.WriteXml : System.Xml.XmlWriter -> unit
Public Sub WriteXml (writer As XmlWriter)
参数
注解
WriteXml
方法提供了一种方法,用于仅将数据和架构从 DataSet 写入 XML 文档,而 WriteXmlSchema 方法只写入架构。 若要同时写入数据和架构,请使用包含 mode
参数的重载之一,并将其值设置为 WriteSchema
。
请注意,ReadXml 和 ReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet
中,请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
备注
如果要从 DataRow
读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException。
另请参阅
- 在 ADO.NET 中使用数据集
适用于
.NET 9 和其他版本
产品 | 版本 |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
public:
void WriteXml(System::IO::Stream ^ stream);
public void WriteXml (System.IO.Stream? stream);
public void WriteXml (System.IO.Stream stream);
member this.WriteXml : System.IO.Stream -> unit
Public Sub WriteXml (stream As Stream)
参数
示例
以下示例创建一个 System.IO.FileStream 对象。 然后,该对象与 WriteXml 方法一起使用来编写 XML 文档。
private void WriteXmlToFile(DataSet thisDataSet)
{
if (thisDataSet == null) { return; }
// Create a file name to write to.
string filename = "XmlDoc.xml";
// Create the FileStream to write with.
System.IO.FileStream stream = new System.IO.FileStream
(filename, System.IO.FileMode.Create);
// Write to the file with the WriteXml method.
thisDataSet.WriteXml(stream);
}
Private Sub WriteXmlToFile(thisDataSet As DataSet)
If thisDataSet Is Nothing Then
Return
End If
' Create a file name to write to.
Dim filename As String = "XmlDoc.xml"
' Create the FileStream to write with.
Dim stream As New System.IO.FileStream _
(filename, System.IO.FileMode.Create)
' Write to the file with the WriteXml method.
thisDataSet.WriteXml(stream)
End Sub
注解
WriteXml
方法提供了一种方法,用于仅将数据和架构从 DataSet 写入 XML 文档,而 WriteXmlSchema 方法只写入架构。 若要同时写入数据和架构,请使用包含 mode
参数的重载之一,并将其值设置为 WriteSchema
。
请注意,ReadXml 和 ReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet
中,请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
备注
如果要从 DataRow
读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException。
另请参阅
- 在 ADO.NET 中使用数据集
适用于
.NET 9 和其他版本
产品 | 版本 |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |