Compartilhar via


DataTable.WriteXml Método

Definição

Grava o conteúdo atual do DataTable como XML.

Sobrecargas

WriteXml(TextWriter, Boolean)

Grava o conteúdo atual do DataTable como XML usando o TextWriter especificado. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.

WriteXml(TextWriter, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o TextWriter e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

WriteXml(String, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema da DataTable usando o arquivo especificado e o XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

WriteXml(Stream, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataTable no arquivo especificado usando o XmlWriteMode especificado. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

WriteXml(XmlWriter, Boolean)

Grava o conteúdo atual do DataTable como XML usando o XmlWriter especificado.

WriteXml(XmlWriter, XmlWriteMode)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o XmlWriter e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

WriteXml(Stream, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema do DataTable no arquivo especificado usando o XmlWriteMode especificado. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.

WriteXml(TextWriter, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o TextWriter e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.

WriteXml(String, Boolean)

Grava o conteúdo atual do DataTable como XML usando o arquivo especificado. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.

WriteXml(Stream, Boolean)

Grava o conteúdo atual do DataTable como XML usando o Stream especificado. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o XmlWriter e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.

WriteXml(String)

Grava o conteúdo atual do DataTable como XML usando o arquivo especificado.

WriteXml(TextWriter)

Grava o conteúdo atual do DataTable como XML usando o TextWriter especificado.

WriteXml(Stream)

Grava o conteúdo atual do DataTable como XML usando o Stream especificado.

WriteXml(String, XmlWriteMode, Boolean)

Grava os dados atuais e, opcionalmente, o esquema da DataTable usando o arquivo especificado e o XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.

WriteXml(XmlWriter)

Grava o conteúdo atual do DataTable como XML usando o XmlWriter especificado.

Exemplos

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

Observação

Este exemplo mostra como usar uma das versões sobrecarregadas do WriteXml. Para obter outros exemplos que possam estar disponíveis, consulte os tópicos de sobrecarga individuais.

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:

==============================
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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

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.

WriteXml(TextWriter, Boolean)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava o conteúdo atual do DataTable como XML usando o TextWriter especificado. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.

public:
 void WriteXml(System::IO::TextWriter ^ writer, bool writeHierarchy);
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.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes. Se false (o valor padrão), grave apenas os dados da tabela atual.

Exemplos

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

Normalmente, o método WriteXml grava os dados somente para a tabela atual. Para gravar os dados para a tabela atual e todas as tabelas relacionadas descendentes, chame o método com o writeHierarchy parâmetro definido como 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.

Confira também

Aplica-se a

WriteXml(TextWriter, XmlWriteMode)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o TextWriter e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

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

Parâmetros

writer
TextWriter

O TextWriter usado para gravar o documento.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.

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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

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.

Confira também

Aplica-se a

WriteXml(String, XmlWriteMode)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava os dados atuais e, opcionalmente, o esquema da DataTable usando o arquivo especificado e o XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como 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.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.

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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

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.

Confira também

Aplica-se a

WriteXml(Stream, XmlWriteMode)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava os dados atuais e, opcionalmente, o esquema do DataTable no arquivo especificado usando o XmlWriteMode especificado. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

public:
 void WriteXml(System::IO::Stream ^ stream, System::Data::XmlWriteMode mode);
public void WriteXml (System.IO.Stream? stream, System.Data.XmlWriteMode mode);
public void WriteXml (System.IO.Stream stream, System.Data.XmlWriteMode mode);
member this.WriteXml : System.IO.Stream * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (stream As Stream, mode As XmlWriteMode)

Parâmetros

stream
Stream

O fluxo no qual os dados serão gravados.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.

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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

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.

Confira também

Aplica-se a

WriteXml(XmlWriter, Boolean)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava o conteúdo atual do DataTable como XML usando o XmlWriter especificado.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, bool writeHierarchy);
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.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes. Se false (o valor padrão), grave apenas os dados da tabela atual.

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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

Normalmente, o método WriteXml grava os dados somente para a tabela atual. Para gravar os dados para a tabela atual e suas tabelas relacionadas descendentes inteiras, chame o método com o writeHierarchy parâmetro definido como 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.

Confira também

Aplica-se a

WriteXml(XmlWriter, XmlWriteMode)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o XmlWriter e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema.

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

Parâmetros

writer
XmlWriter

O XmlWriter usado para gravar o documento.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.

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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

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.

Confira também

Aplica-se a

WriteXml(Stream, XmlWriteMode, Boolean)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava os dados atuais e, opcionalmente, o esquema do DataTable no arquivo especificado usando o XmlWriteMode especificado. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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);
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.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes. Se false (o valor padrão), grave apenas os dados da tabela atual.

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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

Normalmente, o WriteXml método salva dados somente para a tabela atual. 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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

Normalmente, o método WriteXml grava os dados somente para a tabela atual. 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.

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.

Confira também

Aplica-se a

WriteXml(TextWriter, XmlWriteMode, Boolean)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o TextWriter e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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);
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.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes. Se false (o valor padrão), grave apenas os dados da tabela atual.

Exemplos

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

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:

==============================
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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

Normalmente, o WriteXml método salva dados somente para a tabela atual. 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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

Normalmente, o método WriteXml grava os dados somente para a tabela atual. 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.

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.

Confira também

Aplica-se a

WriteXml(String, Boolean)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava o conteúdo atual do DataTable como XML usando o arquivo especificado. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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 gravar os dados XML.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes. Se false (o valor padrão), grave apenas os dados da tabela atual.

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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

Normalmente, o método WriteXml grava os dados somente para a tabela atual. 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.

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.

Confira também

Aplica-se a

WriteXml(Stream, Boolean)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava o conteúdo atual do DataTable como XML usando o Stream especificado. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como true.

public:
 void WriteXml(System::IO::Stream ^ stream, bool writeHierarchy);
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.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes. Se false (o valor padrão), grave apenas os dados da tabela atual.

Comentários

Use o método WriteXmlSchema para gravar o esquema de um DataTable em um documento XML. O esquema inclui tabela, relação e definições de restrição.

O esquema XML é gravado usando o padrão XSD.

Para gravar os dados em um documento XML, use o método WriteXml.

Normalmente, o método WriteXml grava os dados somente para a tabela atual. 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.

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.

Confira também

Aplica-se a

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava os dados atuais e, opcionalmente, o esquema do DataTable usando o XmlWriter e o XmlWriteMode especificados. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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);
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.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes. Se false (o valor padrão), grave apenas os dados da tabela atual.

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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

Normalmente, o método WriteXml grava os dados somente para a tabela atual. Para gravar os dados para a tabela atual e suas tabelas relacionadas descendentes inteiras, chame o método com o writeHierarchy parâmetro definido como 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.

Confira também

Aplica-se a

WriteXml(String)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava o conteúdo atual do DataTable como XML usando o arquivo especificado.

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 gravar os dados XML.

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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

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.

Confira também

Aplica-se a

WriteXml(TextWriter)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava o conteúdo atual do DataTable como XML usando o TextWriter especificado.

public:
 void WriteXml(System::IO::TextWriter ^ writer);
public void WriteXml (System.IO.TextWriter? writer);
public void WriteXml (System.IO.TextWriter writer);
member this.WriteXml : System.IO.TextWriter -> unit
Public Sub WriteXml (writer As TextWriter)

Parâmetros

writer
TextWriter

O TextWriter com o qual gravar o conteúdo.

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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

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.

Confira também

Aplica-se a

WriteXml(Stream)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava o conteúdo atual do DataTable como XML usando o Stream especificado.

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

Parâmetros

stream
Stream

O fluxo no qual os dados serão gravados.

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. Para gravar dados e esquema, use uma das sobrecargas que inclua o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

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.

Confira também

Aplica-se a

WriteXml(String, XmlWriteMode, Boolean)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava os dados atuais e, opcionalmente, o esquema da DataTable usando o arquivo especificado e o XmlWriteMode. Para gravar o esquema, defina o valor do parâmetro mode como WriteSchema. Para salvar os dados para a tabela e todos os descendentes, defina o parâmetro writeHierarchy como 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.

mode
XmlWriteMode

Um dos valores de XmlWriteMode.

writeHierarchy
Boolean

Se for true, grave o conteúdo da tabela atual e todos os descendentes. Se false (o valor padrão), grave apenas os dados da tabela atual.

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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

Normalmente, o WriteXml método salva dados somente para a tabela atual. Se você quiser salvar os dados da tabela atual e de todo o esquema, o WriteXml método fornecerá uma maneira de gravar somente dados ou dados e esquemas de um em um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

Normalmente, o método WriteXml grava os dados somente para a tabela atual. Para gravar os dados para a tabela atual e todas as tabelas relacionadas descendentes, chame o método com o writeHierarchy parâmetro definido como 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.

Confira também

Aplica-se a

WriteXml(XmlWriter)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Grava o conteúdo atual do DataTable como XML usando o XmlWriter especificado.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer);
public void WriteXml (System.Xml.XmlWriter? writer);
public void WriteXml (System.Xml.XmlWriter writer);
member this.WriteXml : System.Xml.XmlWriter -> unit
Public Sub WriteXml (writer As XmlWriter)

Parâmetros

writer
XmlWriter

O XmlWriter com o qual o conteúdo será gravado.

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. Para gravar dados e esquema, use uma das sobrecargas que incluam o parâmetro XmlWriteMode e defina o valor como WriteSchema.

Observe que o mesmo é verdadeiro para os métodos ReadXml e ReadXmlSchema, respectivamente. Para ler dados XML, ou o esquema e os dados no DataTable, use o método ReadXml. Para ler apenas o esquema, use o método ReadXmlSchema.

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.

Confira também

Aplica-se a