DataSet.WriteXml Метод

Определение

Записывает XML-данные и при необходимости схему из DataSet.

Перегрузки

Имя Описание
WriteXml(XmlWriter, XmlWriteMode)

Записывает текущие данные и, при необходимости, схему для DataSet использования указанного XmlWriter и XmlWriteMode. Чтобы написать схему, задайте для параметра WriteSchemaзначение mode .

WriteXml(String, XmlWriteMode)

Записывает текущие данные и при необходимости схему для DataSet указанного файла с помощью указанного XmlWriteModeфайла. Чтобы написать схему, задайте для параметра WriteSchemaзначение mode .

WriteXml(TextWriter, XmlWriteMode)

Записывает текущие данные и, при необходимости, схему для DataSet использования указанного TextWriter и XmlWriteMode. Чтобы написать схему, задайте для параметра WriteSchemaзначение mode .

WriteXml(Stream, XmlWriteMode)

Записывает текущие данные и, при необходимости, схему для DataSet использования указанного Stream и XmlWriteMode. Чтобы написать схему, задайте для параметра WriteSchemaзначение mode .

WriteXml(String)

Записывает текущие данные для указанного DataSet файла.

WriteXml(TextWriter)

Записывает текущие данные для указанного DataSet значения TextWriter.

WriteXml(XmlWriter)

Записывает текущие данные для указанного DataSet объекта XmlWriter.

WriteXml(Stream)

Записывает текущие данные для указанного DataSet значения Stream.

WriteXml(XmlWriter, XmlWriteMode)

Записывает текущие данные и, при необходимости, схему для DataSet использования указанного XmlWriter и XmlWriteMode. Чтобы написать схему, задайте для параметра WriteSchemaзначение 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 для создания нового 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 , используйте этот метод.

Note

Вызывается InvalidOperationException , если тип столбца при DataRow чтении или записи для реализации IDynamicMetaObjectProvider и не реализуется IXmlSerializable.

См. также раздел

Применяется к

WriteXml(String, XmlWriteMode)

Записывает текущие данные и при необходимости схему для DataSet указанного файла с помощью указанного XmlWriteModeфайла. Чтобы написать схему, задайте для параметра WriteSchemaзначение mode .

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 .

Исключения

FileIOPermission не задано Writeзначение .

Примеры

В следующем примере метод используется 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 , используйте этот метод.

Note

Вызывается InvalidOperationException , если тип столбца при DataRow чтении или записи для реализации IDynamicMetaObjectProvider и не реализуется IXmlSerializable.

См. также раздел

Применяется к

WriteXml(TextWriter, XmlWriteMode)

Записывает текущие данные и, при необходимости, схему для DataSet использования указанного TextWriter и XmlWriteMode. Чтобы написать схему, задайте для параметра WriteSchemaзначение 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 , используйте этот метод.

Note

Вызывается InvalidOperationException , если тип столбца при DataRow чтении или записи для реализации IDynamicMetaObjectProvider и не реализуется IXmlSerializable.

См. также раздел

Применяется к

WriteXml(Stream, XmlWriteMode)

Записывает текущие данные и, при необходимости, схему для DataSet использования указанного Stream и XmlWriteMode. Чтобы написать схему, задайте для параметра WriteSchemaзначение 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.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema методов соответственно. Для чтения XML-данных или схемы и данных в DataSetметод используйте ReadXml этот метод. Чтобы прочитать только схему ReadXmlSchema , используйте этот метод.

Note

Вызывается InvalidOperationException , если тип столбца при DataRow чтении или записи для реализации IDynamicMetaObjectProvider и не реализуется IXmlSerializable.

См. также раздел

Применяется к

WriteXml(String)

Записывает текущие данные для указанного 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

Имя файла (включая путь), в который необходимо записать.

Исключения

FileIOPermission не задано Writeзначение .

Комментарии

Метод WriteXml предоставляет способ записи только данных или как данных, так и схемы из DataSet XML-документа, в то время как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающих параметр, и задайте для нее mode значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema методов соответственно. Для чтения XML-данных или схемы и данных в DataSetметод используйте ReadXml этот метод. Чтобы прочитать только схему ReadXmlSchema , используйте этот метод.

Note

Вызывается InvalidOperationException , если тип столбца при DataRow чтении или записи для реализации IDynamicMetaObjectProvider и не реализуется IXmlSerializable.

См. также раздел

Применяется к

WriteXml(TextWriter)

Записывает текущие данные для указанного DataSet значения TextWriter.

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 , используйте этот метод.

Note

Вызывается InvalidOperationException , если тип столбца при DataRow чтении или записи для реализации IDynamicMetaObjectProvider и не реализуется IXmlSerializable.

См. также раздел

Применяется к

WriteXml(XmlWriter)

Записывает текущие данные для указанного DataSet объекта XmlWriter.

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.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema методов соответственно. Для чтения XML-данных или схемы и данных в DataSetметод используйте ReadXml этот метод. Чтобы прочитать только схему ReadXmlSchema , используйте этот метод.

Note

Вызывается InvalidOperationException , если тип столбца при DataRow чтении или записи для реализации IDynamicMetaObjectProvider и не реализуется IXmlSerializable.

См. также раздел

Применяется к

WriteXml(Stream)

Записывает текущие данные для указанного DataSet значения 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.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema методов соответственно. Для чтения XML-данных или схемы и данных в DataSetметод используйте ReadXml этот метод. Чтобы прочитать только схему ReadXmlSchema , используйте этот метод.

Note

Вызывается InvalidOperationException , если тип столбца при DataRow чтении или записи для реализации IDynamicMetaObjectProvider и не реализуется IXmlSerializable.

См. также раздел

Применяется к