DataTable.WriteXml Método

Definição

Grava o conteúdo atual do DataTable como XML.Writes the current contents of the DataTable as XML.

Sobrecargas

WriteXml(TextWriter, Boolean)

Grava o conteúdo atual do DataTable como XML usando o TextWriter especificado.Writes the current contents of the DataTable as XML using the specified TextWriter. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(TextWriter, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o TextWriter e o XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(String, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema da DataTable usando o arquivo especificado e o XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(Stream, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataTable no arquivo especificado usando o XmlWriteMode especificado.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(XmlWriter, Boolean)

Grava o conteúdo atual do DataTable como XML usando o XmlWriter especificado.Writes the current contents of the DataTable as XML using the specified XmlWriter.

WriteXml(XmlWriter, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o XmlWriter e o XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(Stream, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema do DataTable no arquivo especificado usando o XmlWriteMode especificado.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(TextWriter, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o TextWriter e o XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(String, Boolean)

Grava o conteúdo atual da DataTable como XML usando o arquivo especificado.Writes the current contents of the DataTable as XML using the specified file. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(Stream, Boolean)

Grava o conteúdo atual do DataTable como XML usando o Stream especificado.Writes the current contents of the DataTable as XML using the specified Stream. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o XmlWriter e o XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(String)

Grava o conteúdo atual da DataTable como XML usando o arquivo especificado.Writes the current contents of the DataTable as XML using the specified file.

WriteXml(TextWriter)

Grava o conteúdo atual do DataTable como XML usando o TextWriter especificado.Writes the current contents of the DataTable as XML using the specified TextWriter.

WriteXml(Stream)

Grava o conteúdo atual do DataTable como XML usando o Stream especificado.Writes the current contents of the DataTable as XML using the specified Stream.

WriteXml(String, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema da DataTable usando o arquivo especificado e o XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(XmlWriter)

Grava o conteúdo atual do DataTable como XML usando o XmlWriter especificado.Writes the current contents of the DataTable as XML using the specified XmlWriter.

Exemplos

O aplicativo de console a seguir cria duas instâncias de DataTable, adiciona cada uma a uma DataSet, cria uma DataRelation relacionando as duas tabelas e, em seguida, usa o método WriteXml para gravar os dados contidos na tabela pai em um 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. O exemplo demonstra o comportamento durante a definição do parâmetro writeHierarchy como cada um de seus valores.The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

Observação

Este exemplo mostra como usar uma das versões sobrecarregadas do WriteXml.This example shows how to use one of the overloaded versions of WriteXml. Para obter outros exemplos que possam estar disponíveis, consulte os tópicos de sobrecarga individuais.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

O exemplo exibe a seguinte saída na janela do console: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>  

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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)

Grava o conteúdo atual do DataTable como XML usando o TextWriter especificado.Writes the current contents of the DataTable as XML using the specified TextWriter. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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)

Parâmetros

writer
TextWriter

O TextWriter com o qual gravar o conteúdo.The TextWriter with which to write the content.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes.If true, write the contents of the current table and all its descendants. Se false (o valor padrão), grave apenas os dados da tabela atual.If false (the default value), write the data for the current table only.

Exemplos

O aplicativo de console a seguir cria duas instâncias de DataTable, adiciona cada uma a uma DataSet, cria uma DataRelation relacionando as duas tabelas e, em seguida, usa o método WriteXml para gravar os dados contidos na tabela pai em um 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. O exemplo demonstra o comportamento ao definir o parâmetro writeHierarchy como 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

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Normalmente, o método WriteXml grava os dados somente para a tabela atual.Normally the WriteXml method writes the data only for the current table. Para gravar os dados da tabela atual e todas as suas tabelas descendentes, chame o método com o parâmetro writeHierarchy definido como 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.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(TextWriter, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o TextWriter e o XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como 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)

Parâmetros

writer
TextWriter

O TextWriter usado para gravar o documento.The TextWriter used to write the document.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.One of the XmlWriteMode values.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(String, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema da DataTable usando o arquivo especificado e o XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como 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)

Parâmetros

fileName
String

O nome do arquivo no qual os dados serão gravados.The name of the file to which the data will be written.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.One of the XmlWriteMode values.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(Stream, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataTable no arquivo especificado usando o XmlWriteMode especificado.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como 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
Public Sub WriteXml (stream As Stream, mode As XmlWriteMode)

Parâmetros

stream
Stream

O fluxo no qual os dados serão gravados.The stream to which the data will be written.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.One of the XmlWriteMode values.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(XmlWriter, Boolean)

Grava o conteúdo atual do DataTable como XML usando o XmlWriter especificado.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)

Parâmetros

writer
XmlWriter

O XmlWriter com o qual o conteúdo será gravado.The XmlWriter with which to write the contents.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes.If true, write the contents of the current table and all its descendants. Se false (o valor padrão), grave apenas os dados da tabela atual.If false (the default value), write the data for the current table only.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalmente, o método WriteXml grava os dados somente para a tabela atual.Normally the WriteXml method writes the data only for the current table. Para gravar os dados da tabela atual e seu descendente inteiro, as tabelas relacionadas, chame o método com o parâmetro writeHierarchy definido como 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.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(XmlWriter, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o XmlWriter e o XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como 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)

Parâmetros

writer
XmlWriter

O XmlWriter usado para gravar o documento.The XmlWriter used to write the document.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.One of the XmlWriteMode values.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(Stream, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema do DataTable no arquivo especificado usando o XmlWriteMode especificado.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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
Public Sub WriteXml (stream As Stream, mode As XmlWriteMode, writeHierarchy As Boolean)

Parâmetros

stream
Stream

O fluxo no qual os dados serão gravados.The stream to which the data will be written.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes.If true, write the contents of the current table and all its descendants. Se false (o valor padrão), grave apenas os dados da tabela atual.If false (the default value), write the data for the current table only.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalmente, o método WriteXml salva dados somente para a tabela atual.Normally, the WriteXml method saves data only for the current table. O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalmente, o método WriteXml grava os dados somente para a tabela atual.Normally the WriteXml method writes the data only for the current table. Para gravar os dados da tabela atual e todos os descendentes, tabelas relacionadas, chame um método com o parâmetro writeHierarchy definido como 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.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(TextWriter, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o TextWriter e o XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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)

Parâmetros

writer
TextWriter

O TextWriter usado para gravar o documento.The TextWriter used to write the document.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes.If true, write the contents of the current table and all its descendants. Se false (o valor padrão), grave apenas os dados da tabela atual.If false (the default value), write the data for the current table only.

Exemplos

O aplicativo de console a seguir cria duas instâncias de DataTable, adiciona cada uma a uma DataSet, cria uma DataRelation relacionando as duas tabelas e, em seguida, usa o método WriteXml para gravar os dados contidos na tabela pai em um 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. O exemplo demonstra o comportamento durante a definição do parâmetro writeHierarchy como cada um de seus valores.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

O exemplo exibe a seguinte saída na janela do console: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>  

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalmente, o método WriteXml salva dados somente para a tabela atual.Normally, the WriteXml method saves data only for the current table. O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalmente, o método WriteXml grava os dados somente para a tabela atual.Normally the WriteXml method writes the data only for the current table. Para gravar os dados da tabela atual e todos os descendentes, tabelas relacionadas, chame um método com o parâmetro writeHierarchy definido como 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.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(String, Boolean)

Grava o conteúdo atual da DataTable como XML usando o arquivo especificado.Writes the current contents of the DataTable as XML using the specified file. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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)

Parâmetros

fileName
String

O arquivo no qual os dados XML devem ser gravados.The file to which to write the XML data.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes.If true, write the contents of the current table and all its descendants. Se false (o valor padrão), grave apenas os dados da tabela atual.If false (the default value), write the data for the current table only.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalmente, o método WriteXml grava os dados somente para a tabela atual.Normally the WriteXml method writes the data only for the current table. Para gravar os dados da tabela atual e todos os descendentes, tabelas relacionadas, chame um método com o parâmetro writeHierarchy definido como 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.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(Stream, Boolean)

Grava o conteúdo atual do DataTable como XML usando o Stream especificado.Writes the current contents of the DataTable as XML using the specified Stream. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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
Public Sub WriteXml (stream As Stream, writeHierarchy As Boolean)

Parâmetros

stream
Stream

O fluxo no qual os dados serão gravados.The stream to which the data will be written.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes.If true, write the contents of the current table and all its descendants. Se false (o valor padrão), grave apenas os dados da tabela atual.If false (the default value), write the data for the current table only.

Comentários

Use o método WriteXmlSchema para gravar o esquema de um DataTable em um documento XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. O esquema inclui tabela, relação e definições de restrição.The schema includes table, relation, and constraint definitions.

O esquema XML é gravado usando o padrão XSD.The XML schema is written using the XSD standard.

Para gravar os dados em um documento XML, use o método WriteXml.To write the data to an XML document, use the WriteXml method.

Normalmente, o método WriteXml grava os dados somente para a tabela atual.Normally the WriteXml method writes the data only for the current table. Para gravar os dados da tabela atual e todos os descendentes, tabelas relacionadas, chame um método com o parâmetro writeHierarchy definido como 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.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o XmlWriter e o XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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)

Parâmetros

writer
XmlWriter

O XmlWriter usado para gravar o documento.The XmlWriter used to write the document.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes.If true, write the contents of the current table and all its descendants. Se false (o valor padrão), grave apenas os dados da tabela atual.If false (the default value), write the data for the current table only.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalmente, o método WriteXml grava os dados somente para a tabela atual.Normally the WriteXml method writes the data only for the current table. Para gravar os dados da tabela atual e seu descendente inteiro, as tabelas relacionadas, chame o método com o parâmetro writeHierarchy definido como 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.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(String)

Grava o conteúdo atual da DataTable como XML usando o arquivo especificado.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)

Parâmetros

fileName
String

O arquivo no qual os dados XML devem ser gravados.The file to which to write the XML data.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(TextWriter)

Grava o conteúdo atual do DataTable como XML usando o TextWriter especificado.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)

Parâmetros

writer
TextWriter

O TextWriter com o qual gravar o conteúdo.The TextWriter with which to write the content.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(Stream)

Grava o conteúdo atual do DataTable como XML usando o Stream especificado.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
Public Sub WriteXml (stream As Stream)

Parâmetros

stream
Stream

O fluxo no qual os dados serão gravados.The stream to which the data will be written.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(String, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema da DataTable usando o arquivo especificado e o XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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)

Parâmetros

fileName
String

O nome do arquivo no qual os dados serão gravados.The name of the file to which the data will be written.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes.If true, write the contents of the current table and all its descendants. Se false (o valor padrão), grave apenas os dados da tabela atual.If false (the default value), write the data for the current table only.

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalmente, o método WriteXml salva dados somente para a tabela atual.Normally, the WriteXml method saves data only for the current table. Se você quiser salvar os dados da tabela atual e de todo o esquema, o método WriteXml fornecerá uma maneira de gravar somente os dados ou os dados e o esquema de um DataTable em um documento XML, enquanto o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalmente, o método WriteXml grava os dados somente para a tabela atual.Normally the WriteXml method writes the data only for the current table. Para gravar os dados da tabela atual e de todas as tabelas descendentes, chame o método com o parâmetro writeHierarchy definido como true.To write the data for the current table and all descendant, related tables, call the method with the writeHierarchy parameter set to true.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

WriteXml(XmlWriter)

Grava o conteúdo atual do DataTable como XML usando o XmlWriter especificado.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)

Parâmetros

writer
XmlWriter

O XmlWriter com o qual o conteúdo será gravado.The XmlWriter with which to write the contents.

Implementações

Comentários

O método WriteXml fornece uma maneira de gravar apenas dados ou dados e esquema em um DataTable a partir de um documento XML, e o método WriteXmlSchema grava apenas o esquema.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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para ler apenas o esquema, use o método ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Observação

Um InvalidOperationException será lançado se um tipo de coluna no DataRow de leitura ou gravação implementa IDynamicMetaObjectProvider e não implementa 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.

Veja também

Aplica-se a