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

C#
public void WriteXml (System.Xml.XmlWriter? writer, System.Data.XmlWriteMode mode);
C#
public void WriteXml (System.Xml.XmlWriter writer, System.Data.XmlWriteMode mode);

参数

writer
XmlWriter

要写入 XmlWriter

mode
XmlWriteMode

XmlWriteMode 值之一。

示例

以下示例创建一个 System.IO.FileStream 对象,该对象用于创建新 XmlTextWriterXmlTextWriter 对象与 WriteXml 方法一起使用,用于编写 XML 文档。

C#
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();
}

注解

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 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

WriteXml(String, XmlWriteMode)

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

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

C#
public void WriteXml (string fileName, System.Data.XmlWriteMode mode);

参数

fileName
String

要写入的文件名(包括路径)。

mode
XmlWriteMode

XmlWriteMode 值之一。

例外

示例

以下示例使用 WriteXml 方法编写 XML 文档。

C#
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);
}

注解

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 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

WriteXml(TextWriter, XmlWriteMode)

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

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

C#
public void WriteXml (System.IO.TextWriter? writer, System.Data.XmlWriteMode mode);
C#
public void WriteXml (System.IO.TextWriter writer, System.Data.XmlWriteMode mode);

参数

writer
TextWriter

用于写入文档的 TextWriter 对象。

mode
XmlWriteMode

XmlWriteMode 值之一。

示例

以下示例首先创建一个简单的 DataSet,其中包含一个 DataTable、两列和十行。 DataSet 架构和数据通过调用 WriteXml 方法写入磁盘。 创建第二个 DataSetReadXml 方法用于填充架构和数据。

C#
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();
        }
    }
}

注解

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 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

WriteXml(Stream, XmlWriteMode)

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

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

C#
public void WriteXml (System.IO.Stream? stream, System.Data.XmlWriteMode mode);
C#
public void WriteXml (System.IO.Stream stream, System.Data.XmlWriteMode mode);

参数

stream
Stream

用于写入文件的 Stream 对象。

mode
XmlWriteMode

XmlWriteMode 值之一。

注解

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 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

WriteXml(String)

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

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

C#
public void WriteXml (string fileName);

参数

fileName
String

要写入的文件名(包括路径)。

例外

注解

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 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

WriteXml(TextWriter)

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

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

C#
public void WriteXml (System.IO.TextWriter? writer);
C#
public void WriteXml (System.IO.TextWriter writer);

参数

writer
TextWriter

要写入 TextWriter 对象。

注解

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 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

WriteXml(XmlWriter)

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

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

C#
public void WriteXml (System.Xml.XmlWriter? writer);
C#
public void WriteXml (System.Xml.XmlWriter writer);

参数

writer
XmlWriter

要写入 XmlWriter

注解

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 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

WriteXml(Stream)

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

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

C#
public void WriteXml (System.IO.Stream? stream);
C#
public void WriteXml (System.IO.Stream stream);

参数

stream
Stream

用于写入文件的 Stream 对象。

示例

以下示例创建一个 System.IO.FileStream 对象。 然后,该对象与 WriteXml 方法一起使用来编写 XML 文档。

C#
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);
}

注解

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

请注意,ReadXmlReadXmlSchema 方法分别也是如此。 若要将 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