DataTable.WriteXml DataTable.WriteXml DataTable.WriteXml DataTable.WriteXml Method

Определение

Записывает текущее содержимое таблицы DataTable в формате XML.Writes the current contents of the DataTable as XML.

Перегрузки

WriteXml(TextWriter, Boolean) WriteXml(TextWriter, Boolean) WriteXml(TextWriter, Boolean) WriteXml(TextWriter, Boolean)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента TextWriter.Writes the current contents of the DataTable as XML using the specified TextWriter. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(TextWriter, XmlWriteMode) WriteXml(TextWriter, XmlWriteMode) WriteXml(TextWriter, XmlWriteMode) WriteXml(TextWriter, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных TextWriter и XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(String, XmlWriteMode) WriteXml(String, XmlWriteMode) WriteXml(String, XmlWriteMode) WriteXml(String, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable, используя указанный файл и заданное перечисление XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(Stream, XmlWriteMode) WriteXml(Stream, XmlWriteMode) WriteXml(Stream, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable в указанный файл с помощью заданного объекта XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(XmlWriter, Boolean) WriteXml(XmlWriter, Boolean) WriteXml(XmlWriter, Boolean) WriteXml(XmlWriter, Boolean)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента XmlWriter.Writes the current contents of the DataTable as XML using the specified XmlWriter.

WriteXml(XmlWriter, XmlWriteMode) WriteXml(XmlWriter, XmlWriteMode) WriteXml(XmlWriter, XmlWriteMode) WriteXml(XmlWriter, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных XmlWriter и XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(Stream, XmlWriteMode, Boolean) WriteXml(Stream, XmlWriteMode, Boolean) WriteXml(Stream, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable в указанный файл с помощью заданного объекта XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(TextWriter, XmlWriteMode, Boolean) WriteXml(TextWriter, XmlWriteMode, Boolean) WriteXml(TextWriter, XmlWriteMode, Boolean) WriteXml(TextWriter, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных TextWriter и XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(String, Boolean) WriteXml(String, Boolean) WriteXml(String, Boolean) WriteXml(String, Boolean)

Записывает текущее содержимое таблицы DataTable в формате XML, используя указанный файл.Writes the current contents of the DataTable as XML using the specified file. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(Stream, Boolean) WriteXml(Stream, Boolean) WriteXml(Stream, Boolean)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента Stream.Writes the current contents of the DataTable as XML using the specified Stream. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(XmlWriter, XmlWriteMode, Boolean) WriteXml(XmlWriter, XmlWriteMode, Boolean) WriteXml(XmlWriter, XmlWriteMode, Boolean) WriteXml(XmlWriter, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных XmlWriter и XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(String) WriteXml(String) WriteXml(String) WriteXml(String)

Записывает текущее содержимое таблицы DataTable в формате XML, используя указанный файл.Writes the current contents of the DataTable as XML using the specified file.

WriteXml(TextWriter) WriteXml(TextWriter) WriteXml(TextWriter) WriteXml(TextWriter)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента TextWriter.Writes the current contents of the DataTable as XML using the specified TextWriter.

WriteXml(Stream) WriteXml(Stream) WriteXml(Stream)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента Stream.Writes the current contents of the DataTable as XML using the specified Stream.

WriteXml(String, XmlWriteMode, Boolean) WriteXml(String, XmlWriteMode, Boolean) WriteXml(String, XmlWriteMode, Boolean) WriteXml(String, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable, используя указанный файл и заданное перечисление XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(XmlWriter) WriteXml(XmlWriter) WriteXml(XmlWriter) WriteXml(XmlWriter)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента XmlWriter.Writes the current contents of the DataTable as XML using the specified XmlWriter.

Примеры

Следующее консольное приложение создает два DataTable экземпляров, добавляются в DataSet, создает DataRelation двух связанных таблиц, а затем использует WriteXml метод для записи данных, содержащихся в родительской таблице для TextWriter.The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXml method to write the data contained within the parent table to a TextWriter. В примере показано поведение при задании writeHierarchy параметра для каждого из его значений.The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

Примечание

В этом примере показано, как использовать один из перегруженных версий метода WriteXml.This example shows how to use one of the overloaded versions of WriteXml. Другие примеры, которые могут быть доступны см. в разделах отдельные перегрузки.For other examples that might be available, see the individual overload topics.

static void Main()
{
    DataSet ds = new DataSet();
    DataTable customerTable = GetCustomers();
    DataTable orderTable = GetOrders();

    ds.Tables.Add(customerTable);
    ds.Tables.Add(orderTable);
    ds.Relations.Add("CustomerOrder",
        new DataColumn[] { customerTable.Columns[0] },
        new DataColumn[] { orderTable.Columns[1] }, true);

    System.IO.StringWriter writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, false);
    PrintOutput(writer, "Customer table, without hierarchy");

    writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, true);
    PrintOutput(writer, "Customer table, with hierarchy");

    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(System.Int32));
    table.Columns.Add("Name", typeof(System.String));

    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    table.AcceptChanges();
    return table;
}

private static DataTable GetOrders()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create three columns; OrderID, CustomerID, and OrderDate.
    table.Columns.Add(new DataColumn("OrderID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("CustomerID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("OrderDate", typeof(System.DateTime)));

    // Set the OrderID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { table.Columns[0] };

    table.Rows.Add(new object[] { 1, 1, "12/2/2003" });
    table.Rows.Add(new object[] { 2, 1, "1/3/2004" });
    table.Rows.Add(new object[] { 3, 2, "11/13/2004" });
    table.Rows.Add(new object[] { 4, 3, "5/16/2004" });
    table.Rows.Add(new object[] { 5, 3, "5/22/2004" });
    table.Rows.Add(new object[] { 6, 4, "6/15/2004" });
    table.AcceptChanges();
    return table;
}

private static void PrintOutput(System.IO.TextWriter writer, string caption)
{
    Console.WriteLine("==============================");
    Console.WriteLine(caption);
    Console.WriteLine("==============================");
    Console.WriteLine(writer.ToString());
}
Sub Main()
  Dim ds As New DataSet
  Dim customerTable As DataTable = GetCustomers()
  Dim orderTable As DataTable = GetOrders()

  ds.Tables.Add(customerTable)
  ds.Tables.Add(orderTable)
  ds.Relations.Add("CustomerOrder", _
   New DataColumn() {customerTable.Columns(0)}, _
   New DataColumn() {orderTable.Columns(1)}, True)

  Dim writer As New System.IO.StringWriter
  customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, False)
  PrintOutput(writer, "Customer table, without hierarchy")

  writer = New System.IO.StringWriter
  customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, True)
  PrintOutput(writer, "Customer table, with hierarchy")

  Console.WriteLine("Press any key to continue.")
  Console.ReadKey()
End Sub

Private Function GetOrders() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create three columns, OrderID, CustomerID, and OrderDate.
  table.Columns.Add(New DataColumn("OrderID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("CustomerID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("OrderDate", GetType(System.DateTime)))

  ' Set the OrderID column as the primary key column.
  table.PrimaryKey = New DataColumn() {table.Columns(0)}

  table.Rows.Add(New Object() {1, 1, #12/2/2003#})
  table.Rows.Add(New Object() {2, 1, #1/3/2004#})
  table.Rows.Add(New Object() {3, 2, #11/13/2004#})
  table.Rows.Add(New Object() {4, 3, #5/16/2004#})
  table.Rows.Add(New Object() {5, 3, #5/22/2004#})
  table.Rows.Add(New Object() {6, 4, #6/15/2004#})
  table.AcceptChanges()
  Return table
End Function

Private Function GetCustomers() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create two columns, ID and Name.
  Dim idColumn As DataColumn = table.Columns.Add("ID", _
      GetType(System.Int32))
  table.Columns.Add("Name", GetType(System.String))

  ' Set the ID column as the primary key column.
  table.PrimaryKey = New DataColumn() {idColumn}

  table.Rows.Add(New Object() {1, "Mary"})
  table.Rows.Add(New Object() {2, "Andy"})
  table.Rows.Add(New Object() {3, "Peter"})
  table.Rows.Add(New Object() {4, "Russ"})
  table.AcceptChanges()
  Return table
End Function

Private Sub PrintOutput( _
   ByVal writer As System.IO.TextWriter, ByVal caption As String)

  Console.WriteLine("==============================")
  Console.WriteLine(caption)
  Console.WriteLine("==============================")
  Console.WriteLine(writer.ToString())
End Sub

В этом примере в окне консоли отображаются следующие выходные данные:The example displays the following output in the console window:

==============================  
Customer table, without hierarchy  
==============================  
<NewDataSet>  
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema  
" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">  
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1">  
      <xs:complexType>  
        <xs:choice minOccurs="0" maxOccurs="unbounded">  
          <xs:element name="Table1">  
            <xs:complexType>  
              <xs:sequence>  
                <xs:element name="ID" type="xs:int" />  
                <xs:element name="Name" type="xs:string" minOccurs="0" />  
              </xs:sequence>  
            </xs:complexType>  
          </xs:element>  
        </xs:choice>  
      </xs:complexType>  
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">  
        <xs:selector xpath=".//Table1" />  
        <xs:field xpath="ID" />  
      </xs:unique>  
    </xs:element>  
  </xs:schema>  
  <Table1>  
    <ID>1</ID>  
    <Name>Mary</Name>  
  </Table1>  
  <Table1>  
    <ID>2</ID>  
    <Name>Andy</Name>  
  </Table1>  
  <Table1>  
    <ID>3</ID>  
    <Name>Peter</Name>  
  </Table1>  
  <Table1>  
    <ID>4</ID>  
    <Name>Russ</Name>  
  </Table1>  
</NewDataSet>  
==============================  
Customer table, with hierarchy  
==============================  
<NewDataSet>  
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema  
" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">  
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1">  
      <xs:complexType>  
        <xs:choice minOccurs="0" maxOccurs="unbounded">  
          <xs:element name="Table1">  
            <xs:complexType>  
              <xs:sequence>  
                <xs:element name="ID" type="xs:int" />  
                <xs:element name="Name" type="xs:string" minOccurs="0" />  
              </xs:sequence>  
            </xs:complexType>  
          </xs:element>  
          <xs:element name="Table2">  
            <xs:complexType>  
              <xs:sequence>  
                <xs:element name="OrderID" type="xs:int" />  
                <xs:element name="CustomerID" type="xs:int" minOccurs="0" />  
                <xs:element name="OrderDate" type="xs:dateTime" minOccurs="0" />  

              </xs:sequence>  
            </xs:complexType>  
          </xs:element>  
        </xs:choice>  
      </xs:complexType>  
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">  
        <xs:selector xpath=".//Table1" />  
        <xs:field xpath="ID" />  
      </xs:unique>  
      <xs:unique name="Table2_Constraint1" msdata:ConstraintName="Constraint1" m  
sdata:PrimaryKey="true">  
        <xs:selector xpath=".//Table2" />  
        <xs:field xpath="OrderID" />  
      </xs:unique>  
      <xs:keyref name="CustomerOrder" refer="Constraint1">  
        <xs:selector xpath=".//Table2" />  
        <xs:field xpath="CustomerID" />  
      </xs:keyref>  
    </xs:element>  
  </xs:schema>  
  <Table1>  
    <ID>1</ID>  
    <Name>Mary</Name>  
  </Table1>  
  <Table1>  
    <ID>2</ID>  
    <Name>Andy</Name>  
  </Table1>  
  <Table1>  
    <ID>3</ID>  
    <Name>Peter</Name>  
  </Table1>  
  <Table1>  
    <ID>4</ID>  
    <Name>Russ</Name>  
  </Table1>  
  <Table2>  
    <OrderID>1</OrderID>  
    <CustomerID>1</CustomerID>  
    <OrderDate>2003-12-02T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>2</OrderID>  
    <CustomerID>1</CustomerID>  
    <OrderDate>2004-01-03T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>3</OrderID>  
    <CustomerID>2</CustomerID>  
    <OrderDate>2004-11-13T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>4</OrderID>  
    <CustomerID>3</CustomerID>  
    <OrderDate>2004-05-16T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>5</OrderID>  
    <CustomerID>3</CustomerID>  
    <OrderDate>2004-05-22T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>6</OrderID>  
    <CustomerID>4</CustomerID>  
    <OrderDate>2004-06-15T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
</NewDataSet>  

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Чтобы записать схему и данные, используйте одну из перегрузок, которые включают XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

WriteXml(TextWriter, Boolean) WriteXml(TextWriter, Boolean) WriteXml(TextWriter, Boolean) WriteXml(TextWriter, Boolean)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента TextWriter.Writes the current contents of the DataTable as XML using the specified TextWriter. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::IO::TextWriter ^ writer, bool writeHierarchy);
public void WriteXml (System.IO.TextWriter writer, bool writeHierarchy);
member this.WriteXml : System.IO.TextWriter * bool -> unit
Public Sub WriteXml (writer As TextWriter, writeHierarchy As Boolean)

Параметры

writer
TextWriter TextWriter TextWriter TextWriter

TextWriter — используется для записи содержимого.The TextWriter with which to write the content.

writeHierarchy
Boolean Boolean Boolean Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков.If true, write the contents of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.If false (the default value), write the data for the current table only.

Примеры

Следующее консольное приложение создает два DataTable экземпляров, добавляются в DataSet, создает DataRelation двух связанных таблиц, а затем использует WriteXml метод для записи данных, содержащихся в родительской таблице для TextWriter.The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXml method to write the data contained within the parent table to a TextWriter. В примере показано поведение при задании writeHierarchy параметр true.The example demonstrates the behavior when setting the writeHierarchy parameter to true.

static void Main()
{
    DataSet ds = new DataSet();
    DataTable customerTable = GetCustomers();
    DataTable orderTable = GetOrders();

    ds.Tables.Add(customerTable);
    ds.Tables.Add(orderTable);
    ds.Relations.Add("CustomerOrder",
        new DataColumn[] { customerTable.Columns[0] },
        new DataColumn[] { orderTable.Columns[1] }, true);

    System.IO.StringWriter writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, true);
    PrintOutput(writer, "Customer table, with hierarchy");

    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(System.Int32));
    table.Columns.Add("Name", typeof(System.String));

    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    table.AcceptChanges();
    return table;
}

private static DataTable GetOrders()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create three columns; OrderID, CustomerID, and OrderDate.
    table.Columns.Add(new DataColumn("OrderID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("CustomerID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("OrderDate", typeof(System.DateTime)));

    // Set the OrderID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { table.Columns[0] };

    table.Rows.Add(new object[] { 1, 1, "12/2/2003" });
    table.Rows.Add(new object[] { 2, 1, "1/3/2004" });
    table.Rows.Add(new object[] { 3, 2, "11/13/2004" });
    table.Rows.Add(new object[] { 4, 3, "5/16/2004" });
    table.Rows.Add(new object[] { 5, 3, "5/22/2004" });
    table.Rows.Add(new object[] { 6, 4, "6/15/2004" });
    table.AcceptChanges();
    return table;
}

private static void PrintOutput(System.IO.TextWriter stream, 
    string caption)
{
    Console.WriteLine("==============================");
    Console.WriteLine(caption);
    Console.WriteLine("==============================");
    Console.WriteLine(stream.ToString());
}
Sub Main()
  Dim ds As New DataSet
  Dim customerTable As DataTable = GetCustomers()
  Dim orderTable As DataTable = GetOrders()

  ds.Tables.Add(customerTable)
  ds.Tables.Add(orderTable)
  ds.Relations.Add("CustomerOrder", _
   New DataColumn() {customerTable.Columns(0)}, _
   New DataColumn() {orderTable.Columns(1)}, True)

  Dim writer As New System.IO.StringWriter
  customerTable.WriteXml(writer, True)
  PrintOutput(writer, "Customer table, with hierarchy")

  Console.WriteLine("Press any key to continue.")
  Console.ReadKey()
End Sub

Private Function GetOrders() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create three columns, OrderID, CustomerID, and OrderDate.
  table.Columns.Add(New DataColumn("OrderID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("CustomerID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("OrderDate", GetType(System.DateTime)))

  ' Set the OrderID column as the primary key column.
  table.PrimaryKey = New DataColumn() {table.Columns(0)}

  table.Rows.Add(New Object() {1, 1, #12/2/2003#})
  table.Rows.Add(New Object() {2, 1, #1/3/2004#})
  table.Rows.Add(New Object() {3, 2, #11/13/2004#})
  table.Rows.Add(New Object() {4, 3, #5/16/2004#})
  table.Rows.Add(New Object() {5, 3, #5/22/2004#})
  table.Rows.Add(New Object() {6, 4, #6/15/2004#})
  table.AcceptChanges()
  Return table
End Function

Private Function GetCustomers() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create two columns, ID and Name.
  Dim idColumn As DataColumn = table.Columns.Add("ID", _
      GetType(System.Int32))
  table.Columns.Add("Name", GetType(System.String))

  ' Set the ID column as the primary key column.
  table.PrimaryKey = New DataColumn() {idColumn}

  table.Rows.Add(New Object() {1, "Mary"})
  table.Rows.Add(New Object() {2, "Andy"})
  table.Rows.Add(New Object() {3, "Peter"})
  table.Rows.Add(New Object() {4, "Russ"})
  table.AcceptChanges()
  Return table
End Function

Private Sub PrintOutput( _
   ByVal stream As System.IO.TextWriter, ByVal caption As String)

  Console.WriteLine("==============================")
  Console.WriteLine(caption)
  Console.WriteLine("==============================")
  Console.WriteLine(stream.ToString())
End Sub

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обычно WriteXml метод записывает данные только для текущей таблицы.Normally the WriteXml method writes the data only for the current table. Чтобы записать данные для текущей таблицы и всех его потомков, связанных таблиц, вызовите метод с writeHierarchy параметру присвоить true.To write the data for the current table and all its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(TextWriter, XmlWriteMode) WriteXml(TextWriter, XmlWriteMode) WriteXml(TextWriter, XmlWriteMode) WriteXml(TextWriter, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных TextWriter и XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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 TextWriter TextWriter

Класс TextWriter, используемый для записи документа.The TextWriter used to write the document.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Одно из значений XmlWriteMode.One of the XmlWriteMode values.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(String, XmlWriteMode) WriteXml(String, XmlWriteMode) WriteXml(String, XmlWriteMode) WriteXml(String, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable, используя указанный файл и заданное перечисление XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to 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 String String String

Имя файла, в который записываются данные.The name of the file to which the data will be written.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Одно из значений XmlWriteMode.One of the XmlWriteMode values.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Чтобы записать схему и данные, используйте одну из перегрузок, которые включают XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(Stream, XmlWriteMode) WriteXml(Stream, XmlWriteMode) WriteXml(Stream, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable в указанный файл с помощью заданного объекта XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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

Параметры

stream
Stream Stream Stream Stream

Поток, в который записываются данные.The stream to which the data will be written.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Одно из значений XmlWriteMode.One of the XmlWriteMode values.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(XmlWriter, Boolean) WriteXml(XmlWriter, Boolean) WriteXml(XmlWriter, Boolean) WriteXml(XmlWriter, Boolean)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента XmlWriter.Writes the current contents of the DataTable as XML using the specified XmlWriter.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, bool writeHierarchy);
public void WriteXml (System.Xml.XmlWriter writer, bool writeHierarchy);
member this.WriteXml : System.Xml.XmlWriter * bool -> unit
Public Sub WriteXml (writer As XmlWriter, writeHierarchy As Boolean)

Параметры

writer
XmlWriter XmlWriter XmlWriter XmlWriter

Средство записи XmlWriter, с помощью которого записывается содержимое.The XmlWriter with which to write the contents.

writeHierarchy
Boolean Boolean Boolean Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков.If true, write the contents of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.If false (the default value), write the data for the current table only.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Чтобы записать схему и данные, используйте одну из перегрузок, которые включают XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Обычно WriteXml метод записывает данные только для текущей таблицы.Normally the WriteXml method writes the data only for the current table. Чтобы записать данные для текущей таблицы и всей потомков, связанных таблиц, вызовите метод с writeHierarchy параметру присвоить true.To write the data for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(XmlWriter, XmlWriteMode) WriteXml(XmlWriter, XmlWriteMode) WriteXml(XmlWriter, XmlWriteMode) WriteXml(XmlWriter, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных XmlWriter и XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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 XmlWriter XmlWriter

Класс XmlWriter, используемый для записи документа.The XmlWriter used to write the document.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Одно из значений XmlWriteMode.One of the XmlWriteMode values.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Чтобы записать схему и данные, используйте одну из перегрузок, которые включают XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(Stream, XmlWriteMode, Boolean) WriteXml(Stream, XmlWriteMode, Boolean) WriteXml(Stream, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable в указанный файл с помощью заданного объекта XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::IO::Stream ^ stream, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.IO.Stream stream, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : System.IO.Stream * System.Data.XmlWriteMode * bool -> unit

Параметры

stream
Stream Stream Stream Stream

Поток, в который записываются данные.The stream to which the data will be written.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Одно из значений XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean Boolean Boolean Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков.If true, write the contents of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.If false (the default value), write the data for the current table only.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Как правило WriteXml метод сохраняет данные только для текущей таблицы.Normally, the WriteXml method saves data only for the current table. WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Обычно WriteXml метод записывает данные только для текущей таблицы.Normally the WriteXml method writes the data only for the current table. Для записи данных для текущей таблицы и всех ее потомков, связанных таблиц, вызовите метод с writeHierarchy параметру присвоить true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(TextWriter, XmlWriteMode, Boolean) WriteXml(TextWriter, XmlWriteMode, Boolean) WriteXml(TextWriter, XmlWriteMode, Boolean) WriteXml(TextWriter, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных TextWriter и XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::IO::TextWriter ^ writer, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.IO.TextWriter writer, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : System.IO.TextWriter * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (writer As TextWriter, mode As XmlWriteMode, writeHierarchy As Boolean)

Параметры

writer
TextWriter TextWriter TextWriter TextWriter

Класс TextWriter, используемый для записи документа.The TextWriter used to write the document.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Одно из значений XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean Boolean Boolean Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков.If true, write the contents of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.If false (the default value), write the data for the current table only.

Примеры

Следующее консольное приложение создает два DataTable экземпляров, добавляются в DataSet, создает DataRelation двух связанных таблиц, а затем использует WriteXml метод для записи данных, содержащихся в родительской таблице для TextWriter.The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXml method to write the data contained within the parent table to a TextWriter. В примере показано поведение при задании writeHierarchy параметра для каждого из его значений.The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

static void Main()
{
    DataSet ds = new DataSet();
    DataTable customerTable = GetCustomers();
    DataTable orderTable = GetOrders();

    ds.Tables.Add(customerTable);
    ds.Tables.Add(orderTable);
    ds.Relations.Add("CustomerOrder",
        new DataColumn[] { customerTable.Columns[0] },
        new DataColumn[] { orderTable.Columns[1] }, true);

    System.IO.StringWriter writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, false);
    PrintOutput(writer, "Customer table, without hierarchy");

    writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, true);
    PrintOutput(writer, "Customer table, with hierarchy");

    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(System.Int32));
    table.Columns.Add("Name", typeof(System.String));

    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    table.AcceptChanges();
    return table;
}

private static DataTable GetOrders()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create three columns; OrderID, CustomerID, and OrderDate.
    table.Columns.Add(new DataColumn("OrderID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("CustomerID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("OrderDate", typeof(System.DateTime)));

    // Set the OrderID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { table.Columns[0] };

    table.Rows.Add(new object[] { 1, 1, "12/2/2003" });
    table.Rows.Add(new object[] { 2, 1, "1/3/2004" });
    table.Rows.Add(new object[] { 3, 2, "11/13/2004" });
    table.Rows.Add(new object[] { 4, 3, "5/16/2004" });
    table.Rows.Add(new object[] { 5, 3, "5/22/2004" });
    table.Rows.Add(new object[] { 6, 4, "6/15/2004" });
    table.AcceptChanges();
    return table;
}

private static void PrintOutput(System.IO.TextWriter writer, 
    string caption)
{
    Console.WriteLine("==============================");
    Console.WriteLine(caption);
    Console.WriteLine("==============================");
    Console.WriteLine(writer.ToString());
}
Sub Main()
  Dim ds As New DataSet
  Dim customerTable As DataTable = GetCustomers()
  Dim orderTable As DataTable = GetOrders()

  ds.Tables.Add(customerTable)
  ds.Tables.Add(orderTable)
  ds.Relations.Add("CustomerOrder", _
   New DataColumn() {customerTable.Columns(0)}, _
   New DataColumn() {orderTable.Columns(1)}, True)

  Dim writer As New System.IO.StringWriter
  customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, False)
  PrintOutput(writer, "Customer table, without hierarchy")

  writer = New System.IO.StringWriter
  customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, True)
  PrintOutput(writer, "Customer table, with hierarchy")

  Console.WriteLine("Press any key to continue.")
  Console.ReadKey()
End Sub

Private Function GetOrders() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create three columns, OrderID, CustomerID, and OrderDate.
  table.Columns.Add(New DataColumn("OrderID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("CustomerID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("OrderDate", GetType(System.DateTime)))

  ' Set the OrderID column as the primary key column.
  table.PrimaryKey = New DataColumn() {table.Columns(0)}

  table.Rows.Add(New Object() {1, 1, #12/2/2003#})
  table.Rows.Add(New Object() {2, 1, #1/3/2004#})
  table.Rows.Add(New Object() {3, 2, #11/13/2004#})
  table.Rows.Add(New Object() {4, 3, #5/16/2004#})
  table.Rows.Add(New Object() {5, 3, #5/22/2004#})
  table.Rows.Add(New Object() {6, 4, #6/15/2004#})
  table.AcceptChanges()
  Return table
End Function

Private Function GetCustomers() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create two columns, ID and Name.
  Dim idColumn As DataColumn = table.Columns.Add("ID", _
      GetType(System.Int32))
  table.Columns.Add("Name", GetType(System.String))

  ' Set the ID column as the primary key column.
  table.PrimaryKey = New DataColumn() {idColumn}

  table.Rows.Add(New Object() {1, "Mary"})
  table.Rows.Add(New Object() {2, "Andy"})
  table.Rows.Add(New Object() {3, "Peter"})
  table.Rows.Add(New Object() {4, "Russ"})
  table.AcceptChanges()
  Return table
End Function

Private Sub PrintOutput( _
   ByVal writer As System.IO.TextWriter, ByVal caption As String)

  Console.WriteLine("==============================")
  Console.WriteLine(caption)
  Console.WriteLine("==============================")
  Console.WriteLine(writer.ToString())
End Sub

В этом примере в окне консоли отображаются следующие выходные данные:The example displays the following output in the console window:

==============================  
Customer table, without hierarchy  
==============================  
<NewDataSet>  
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema  
" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">  
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1">  
      <xs:complexType>  
        <xs:choice minOccurs="0" maxOccurs="unbounded">  
          <xs:element name="Table1">  
            <xs:complexType>  
              <xs:sequence>  
                <xs:element name="ID" type="xs:int" />  
                <xs:element name="Name" type="xs:string" minOccurs="0" />  
              </xs:sequence>  
            </xs:complexType>  
          </xs:element>  
        </xs:choice>  
      </xs:complexType>  
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">  
        <xs:selector xpath=".//Table1" />  
        <xs:field xpath="ID" />  
      </xs:unique>  
    </xs:element>  
  </xs:schema>  
  <Table1>  
    <ID>1</ID>  
    <Name>Mary</Name>  
  </Table1>  
  <Table1>  
    <ID>2</ID>  
    <Name>Andy</Name>  
  </Table1>  
  <Table1>  
    <ID>3</ID>  
    <Name>Peter</Name>  
  </Table1>  
  <Table1>  
    <ID>4</ID>  
    <Name>Russ</Name>  
  </Table1>  
</NewDataSet>  
==============================  
Customer table, with hierarchy  
==============================  
<NewDataSet>  
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema  
" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">  
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1">  
      <xs:complexType>  
        <xs:choice minOccurs="0" maxOccurs="unbounded">  
          <xs:element name="Table1">  
            <xs:complexType>  
              <xs:sequence>  
                <xs:element name="ID" type="xs:int" />  
                <xs:element name="Name" type="xs:string" minOccurs="0" />  
              </xs:sequence>  
            </xs:complexType>  
          </xs:element>  
          <xs:element name="Table2">  
            <xs:complexType>  
              <xs:sequence>  
                <xs:element name="OrderID" type="xs:int" />  
                <xs:element name="CustomerID" type="xs:int" minOccurs="0" />  
                <xs:element name="OrderDate" type="xs:dateTime" minOccurs="0" />  

              </xs:sequence>  
            </xs:complexType>  
          </xs:element>  
        </xs:choice>  
      </xs:complexType>  
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">  
        <xs:selector xpath=".//Table1" />  
        <xs:field xpath="ID" />  
      </xs:unique>  
      <xs:unique name="Table2_Constraint1" msdata:ConstraintName="Constraint1" m  
sdata:PrimaryKey="true">  
        <xs:selector xpath=".//Table2" />  
        <xs:field xpath="OrderID" />  
      </xs:unique>  
      <xs:keyref name="CustomerOrder" refer="Constraint1">  
        <xs:selector xpath=".//Table2" />  
        <xs:field xpath="CustomerID" />  
      </xs:keyref>  
    </xs:element>  
  </xs:schema>  
  <Table1>  
    <ID>1</ID>  
    <Name>Mary</Name>  
  </Table1>  
  <Table1>  
    <ID>2</ID>  
    <Name>Andy</Name>  
  </Table1>  
  <Table1>  
    <ID>3</ID>  
    <Name>Peter</Name>  
  </Table1>  
  <Table1>  
    <ID>4</ID>  
    <Name>Russ</Name>  
  </Table1>  
  <Table2>  
    <OrderID>1</OrderID>  
    <CustomerID>1</CustomerID>  
    <OrderDate>2003-12-02T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>2</OrderID>  
    <CustomerID>1</CustomerID>  
    <OrderDate>2004-01-03T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>3</OrderID>  
    <CustomerID>2</CustomerID>  
    <OrderDate>2004-11-13T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>4</OrderID>  
    <CustomerID>3</CustomerID>  
    <OrderDate>2004-05-16T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>5</OrderID>  
    <CustomerID>3</CustomerID>  
    <OrderDate>2004-05-22T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>6</OrderID>  
    <CustomerID>4</CustomerID>  
    <OrderDate>2004-06-15T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
</NewDataSet>  

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Как правило WriteXml метод сохраняет данные только для текущей таблицы.Normally, the WriteXml method saves data only for the current table. WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Обычно WriteXml метод записывает данные только для текущей таблицы.Normally the WriteXml method writes the data only for the current table. Для записи данных для текущей таблицы и всех ее потомков, связанных таблиц, вызовите метод с writeHierarchy параметру присвоить true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(String, Boolean) WriteXml(String, Boolean) WriteXml(String, Boolean) WriteXml(String, Boolean)

Записывает текущее содержимое таблицы DataTable в формате XML, используя указанный файл.Writes the current contents of the DataTable as XML using the specified file. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::String ^ fileName, bool writeHierarchy);
public void WriteXml (string fileName, bool writeHierarchy);
member this.WriteXml : string * bool -> unit
Public Sub WriteXml (fileName As String, writeHierarchy As Boolean)

Параметры

fileName
String String String String

Файл, в который записываются XML-данные.The file to which to write the XML data.

writeHierarchy
Boolean Boolean Boolean Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков.If true, write the contents of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.If false (the default value), write the data for the current table only.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Обычно WriteXml метод записывает данные только для текущей таблицы.Normally the WriteXml method writes the data only for the current table. Для записи данных для текущей таблицы и всех ее потомков, связанных таблиц, вызовите метод с writeHierarchy параметру присвоить true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(Stream, Boolean) WriteXml(Stream, Boolean) WriteXml(Stream, Boolean)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента Stream.Writes the current contents of the DataTable as XML using the specified Stream. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::IO::Stream ^ stream, bool writeHierarchy);
public void WriteXml (System.IO.Stream stream, bool writeHierarchy);
member this.WriteXml : System.IO.Stream * bool -> unit

Параметры

stream
Stream Stream Stream Stream

Поток, в который записываются данные.The stream to which the data will be written.

writeHierarchy
Boolean Boolean Boolean Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков.If true, write the contents of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.If false (the default value), write the data for the current table only.

Комментарии

Используйте WriteXmlSchema метод для записи схемы для DataTable в XML-документ.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Эта схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Схема XML записывается с использованием стандарта XSD.The XML schema is written using the XSD standard.

Чтобы записать данные в XML-документ, используйте WriteXml метод.To write the data to an XML document, use the WriteXml method.

Обычно WriteXml метод записывает данные только для текущей таблицы.Normally the WriteXml method writes the data only for the current table. Для записи данных для текущей таблицы и всех ее потомков, связанных таблиц, вызовите метод с writeHierarchy параметру присвоить true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(XmlWriter, XmlWriteMode, Boolean) WriteXml(XmlWriter, XmlWriteMode, Boolean) WriteXml(XmlWriter, XmlWriteMode, Boolean) WriteXml(XmlWriter, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных XmlWriter и XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.Xml.XmlWriter writer, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : System.Xml.XmlWriter * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (writer As XmlWriter, mode As XmlWriteMode, writeHierarchy As Boolean)

Параметры

writer
XmlWriter XmlWriter XmlWriter XmlWriter

Класс XmlWriter, используемый для записи документа.The XmlWriter used to write the document.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Одно из значений XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean Boolean Boolean Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков.If true, write the contents of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.If false (the default value), write the data for the current table only.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Чтобы записать схему и данные, используйте одну из перегрузок, которые включают XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Обычно WriteXml метод записывает данные только для текущей таблицы.Normally the WriteXml method writes the data only for the current table. Чтобы записать данные для текущей таблицы и всей потомков, связанных таблиц, вызовите метод с writeHierarchy параметру присвоить true.To write the data for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(String) WriteXml(String) WriteXml(String) WriteXml(String)

Записывает текущее содержимое таблицы DataTable в формате XML, используя указанный файл.Writes the current contents of the DataTable as XML using the specified file.

public:
 void WriteXml(System::String ^ fileName);
public void WriteXml (string fileName);
member this.WriteXml : string -> unit
Public Sub WriteXml (fileName As String)

Параметры

fileName
String String String String

Файл, в который записываются XML-данные.The file to which to write the XML data.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(TextWriter) WriteXml(TextWriter) WriteXml(TextWriter) WriteXml(TextWriter)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента TextWriter.Writes the current contents of the DataTable as XML using the specified 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 TextWriter TextWriter

TextWriter — используется для записи содержимого.The TextWriter with which to write the content.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(Stream) WriteXml(Stream) WriteXml(Stream)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента Stream.Writes the current contents of the DataTable as XML using the specified Stream.

public:
 void WriteXml(System::IO::Stream ^ stream);
public void WriteXml (System.IO.Stream stream);
member this.WriteXml : System.IO.Stream -> unit

Параметры

stream
Stream Stream Stream Stream

Поток, в который записываются данные.The stream to which the data will be written.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Для записи данных и схемы, используйте одну из перегрузок, которые включает в себя XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(String, XmlWriteMode, Boolean) WriteXml(String, XmlWriteMode, Boolean) WriteXml(String, XmlWriteMode, Boolean) WriteXml(String, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable, используя указанный файл и заданное перечисление XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::String ^ fileName, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (string fileName, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : string * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (fileName As String, mode As XmlWriteMode, writeHierarchy As Boolean)

Параметры

fileName
String String String String

Имя файла, в который записываются данные.The name of the file to which the data will be written.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Одно из значений XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean Boolean Boolean Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков.If true, write the contents of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.If false (the default value), write the data for the current table only.

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Чтобы записать схему и данные, используйте одну из перегрузок, которые включают XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Как правило WriteXml метод сохраняет данные только для текущей таблицы.Normally, the WriteXml method saves data only for the current table. Если вы хотите сохранить данные для текущей таблицы и все схемы, WriteXml метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.If you want to save the data for the current table and all of schema, the WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Чтобы записать схему и данные, используйте одну из перегрузок, которые включают XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Обычно WriteXml метод записывает данные только для текущей таблицы.Normally the WriteXml method writes the data only for the current table. Чтобы записать данные для текущей таблицы и всех потомков, связанных таблиц, вызовите метод с writeHierarchy параметру присвоить true.To write the data for the current table and all descendant, related tables, call the method with the writeHierarchy parameter set to true.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

WriteXml(XmlWriter) WriteXml(XmlWriter) WriteXml(XmlWriter) WriteXml(XmlWriter)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента XmlWriter.Writes the current contents of the DataTable as XML using the specified 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 XmlWriter XmlWriter

Средство записи XmlWriter, с помощью которого записывается содержимое.The XmlWriter with which to write the contents.

Реализации

Комментарии

WriteXml Метод предоставляет способ записи только данных или схему и данные из DataTable в документ XML, тогда как WriteXmlSchema метод записывает только схему.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Чтобы записать схему и данные, используйте одну из перегрузок, которые включают XmlWriteMode параметра и присвойте ему значение WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Обратите внимание, что то же самое касается ReadXml и ReadXmlSchema методы, соответственно.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Для считывания XML-данных или схему и данные в DataTable, используйте ReadXml метод.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Чтобы прочитать только схему, используйте ReadXmlSchema метод.To read just the schema, use the ReadXmlSchema method.

Примечание

InvalidOperationException Возникает, если тип столбца в DataRow чтения или записи на implements IDynamicMetaObjectProvider и не реализует IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Дополнительно

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