DataSet.WriteXml 方法

定义

DataSet写入 XML 数据以及架构(可选)。

重载

WriteXml(XmlWriter, XmlWriteMode)

使用指定的 XmlWriterXmlWriteMode写入 DataSet 的当前数据和架构(可选)。 若要编写架构,请将 mode 参数的值设置为 WriteSchema

WriteXml(String, XmlWriteMode)

使用指定的 XmlWriteModeDataSet 的当前数据和架构写入指定文件。 若要编写架构,请将 mode 参数的值设置为 WriteSchema

WriteXml(TextWriter, XmlWriteMode)

使用指定的 TextWriterXmlWriteMode写入 DataSet 的当前数据和架构(可选)。 若要编写架构,请将 mode 参数的值设置为 WriteSchema

WriteXml(Stream, XmlWriteMode)

使用指定的 StreamXmlWriteMode写入 DataSet 的当前数据和架构(可选)。 若要编写架构,请将 mode 参数的值设置为 WriteSchema

WriteXml(String)

DataSet 的当前数据写入指定文件。

WriteXml(TextWriter)

使用指定的 TextWriter写入 DataSet 的当前数据。

WriteXml(XmlWriter)

DataSet 的当前数据写入指定的 XmlWriter

WriteXml(Stream)

使用指定的 Stream写入 DataSet 的当前数据。

WriteXml(XmlWriter, XmlWriteMode)

Source:
DataSet.cs
Source:
DataSet.cs
Source:
DataSet.cs

使用指定的 XmlWriterXmlWriteMode写入 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)

参数

writer
XmlWriter

要写入 XmlWriter

mode
XmlWriteMode

XmlWriteMode 值之一。

示例

以下示例创建一个 System.IO.FileStream 对象,该对象用于创建新 XmlTextWriterXmlTextWriter 对象与 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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet中,请使用 ReadXml 方法。 若要仅读取架构,请使用 ReadXmlSchema 方法。

注意

如果要从 DataRow 读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException

另请参阅

  • 在 ADO.NET 中使用数据集

适用于

WriteXml(String, XmlWriteMode)

Source:
DataSet.cs
Source:
DataSet.cs
Source:
DataSet.cs

使用指定的 XmlWriteModeDataSet 的当前数据和架构写入指定文件。 若要编写架构,请将 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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet中,请使用 ReadXml 方法。 若要仅读取架构,请使用 ReadXmlSchema 方法。

注意

如果要从 DataRow 读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException

另请参阅

  • 在 ADO.NET 中使用数据集

适用于

WriteXml(TextWriter, XmlWriteMode)

Source:
DataSet.cs
Source:
DataSet.cs
Source:
DataSet.cs

使用指定的 TextWriterXmlWriteMode写入 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 方法写入磁盘。 创建第二个 DataSetReadXml 方法用于填充架构和数据。

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet中,请使用 ReadXml 方法。 若要仅读取架构,请使用 ReadXmlSchema 方法。

注意

如果要从 DataRow 读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException

另请参阅

  • 在 ADO.NET 中使用数据集

适用于

WriteXml(Stream, XmlWriteMode)

Source:
DataSet.cs
Source:
DataSet.cs
Source:
DataSet.cs

使用指定的 StreamXmlWriteMode写入 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)

参数

stream
Stream

用于写入文件的 Stream 对象。

mode
XmlWriteMode

XmlWriteMode 值之一。

注解

WriteXml 方法提供了一种方法,用于仅将数据和架构从 DataSet 写入 XML 文档,而 WriteXmlSchema 方法只写入架构。 若要同时写入数据和架构,请将 mode 参数设置为 WriteSchema

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet中,请使用 ReadXml 方法。 若要仅读取架构,请使用 ReadXmlSchema 方法。

注意

如果要从 DataRow 读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException

另请参阅

  • 在 ADO.NET 中使用数据集

适用于

WriteXml(String)

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet中,请使用 ReadXml 方法。 若要仅读取架构,请使用 ReadXmlSchema 方法。

注意

如果要从 DataRow 读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException

另请参阅

  • 在 ADO.NET 中使用数据集

适用于

WriteXml(TextWriter)

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet中,请使用 ReadXml 方法。 若要仅读取架构,请使用 ReadXmlSchema 方法。

注意

如果要从 DataRow 读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException

另请参阅

  • 在 ADO.NET 中使用数据集

适用于

WriteXml(XmlWriter)

Source:
DataSet.cs
Source:
DataSet.cs
Source:
DataSet.cs

DataSet 的当前数据写入指定的 XmlWriter

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)

参数

writer
XmlWriter

要写入 XmlWriter

注解

WriteXml 方法提供了一种方法,用于仅将数据和架构从 DataSet 写入 XML 文档,而 WriteXmlSchema 方法只写入架构。 若要同时写入数据和架构,请使用包含 mode 参数的重载之一,并将其值设置为 WriteSchema

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet中,请使用 ReadXml 方法。 若要仅读取架构,请使用 ReadXmlSchema 方法。

注意

如果要从 DataRow 读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException

另请参阅

  • 在 ADO.NET 中使用数据集

适用于

WriteXml(Stream)

Source:
DataSet.cs
Source:
DataSet.cs
Source:
DataSet.cs

使用指定的 Stream写入 DataSet 的当前数据。

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)

参数

stream
Stream

用于写入文件的 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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 XML 数据或架构和数据读取到 DataSet中,请使用 ReadXml 方法。 若要仅读取架构,请使用 ReadXmlSchema 方法。

注意

如果要从 DataRow 读取或写入实现 IDynamicMetaObjectProvider 且不实现 IXmlSerializable,则会引发 InvalidOperationException

另请参阅

  • 在 ADO.NET 中使用数据集

适用于