DataTable.WriteXml Método

Definição

Escreve o conteúdo atual do DataTable como XML.

Sobrecargas

Name Description
WriteXml(TextWriter, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o especificado TextWriter. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(TextWriter, XmlWriteMode)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados TextWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(String, XmlWriteMode)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable usando o ficheiro especificado e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(Stream, XmlWriteMode)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable ficheiro especificado usando o ficheiro especificado XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(XmlWriter, Boolean)

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

WriteXml(XmlWriter, XmlWriteMode)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados XmlWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema.

WriteXml(Stream, XmlWriteMode, Boolean)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable ficheiro especificado usando o ficheiro especificado XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(TextWriter, XmlWriteMode, Boolean)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados TextWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(String, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o ficheiro especificado. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(Stream, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o especificado Stream. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados XmlWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(String)

Escreve o conteúdo atual do DataTable como XML usando o ficheiro especificado.

WriteXml(TextWriter)

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

WriteXml(Stream)

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

WriteXml(String, XmlWriteMode, Boolean)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable usando o ficheiro especificado e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para true.

WriteXml(XmlWriter)

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

Exemplos

A aplicação de consola seguinte cria duas DataTable instâncias, adiciona cada uma a um DataSet, cria um DataRelation relacionando as duas tabelas e depois usa o WriteXml método para escrever os dados contidos na tabela pai para um TextWriter. O exemplo demonstra o comportamento ao definir o writeHierarchy parâmetro para cada um dos seus valores.

Note

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

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>

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use uma das sobrecargas que incluam o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

WriteXml(TextWriter, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o especificado TextWriter. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para 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 que escrever o conteúdo.

writeHierarchy
Boolean

Se true, escreva o conteúdo da tabela atual e de todos os seus descendentes. Se false (o valor padrão), escreva os dados apenas para a tabela atual.

Exemplos

A aplicação de consola seguinte cria duas DataTable instâncias, adiciona cada uma a um DataSet, cria um DataRelation relacionando as duas tabelas e depois usa o WriteXml método para escrever os dados contidos na tabela pai para um TextWriter. O exemplo demonstra o comportamento ao definir o writeHierarchy parâmetro para 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

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Normalmente, o WriteXml método escreve os dados apenas para a tabela atual. Para escrever os dados para a tabela atual e todas as suas tabelas descendentes relacionadas, chame o método com o writeHierarchy parâmetro definido como true.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(TextWriter, XmlWriteMode)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados TextWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para 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

Eles TextWriter usaram para escrever o documento.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(String, XmlWriteMode)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable usando o ficheiro especificado e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para 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 ficheiro onde os dados serão escritos.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use uma das sobrecargas que incluam o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(Stream, XmlWriteMode)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable ficheiro especificado usando o ficheiro especificado XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para 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 para onde os dados serão escritos.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(XmlWriter, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o especificado 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 que escrever o conteúdo.

writeHierarchy
Boolean

Se true, escreva o conteúdo da tabela atual e de todos os seus descendentes. Se false (o valor padrão), escreva os dados apenas para a tabela atual.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use uma das sobrecargas que incluam o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Normalmente, o WriteXml método escreve os dados apenas para a tabela atual. Para escrever os dados para a tabela atual e todas as suas tabelas descendentes relacionadas, chama o método com o writeHierarchy parâmetro definido em true.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(XmlWriter, XmlWriteMode)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados XmlWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para 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

Eles XmlWriter usaram para escrever o documento.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use uma das sobrecargas que incluam o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(Stream, XmlWriteMode, Boolean)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable ficheiro especificado usando o ficheiro especificado XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para 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 para onde os dados serão escritos.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

writeHierarchy
Boolean

Se true, escreva o conteúdo da tabela atual e de todos os seus descendentes. Se false (o valor padrão), escreva os dados apenas para a tabela atual.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Normalmente, o WriteXml método guarda dados apenas para a tabela atual. O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Normalmente, o WriteXml método escreve os dados apenas para a tabela atual. Para escrever os dados da tabela atual e de todas as suas tabelas descendentes relacionadas, chama o método com o writeHierarchy parâmetro definido como true.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(TextWriter, XmlWriteMode, Boolean)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados TextWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para 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

Eles TextWriter usaram para escrever o documento.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

writeHierarchy
Boolean

Se true, escreva o conteúdo da tabela atual e de todos os seus descendentes. Se false (o valor padrão), escreva os dados apenas para a tabela atual.

Exemplos

A aplicação de consola seguinte cria duas DataTable instâncias, adiciona cada uma a um DataSet, cria um DataRelation relacionando as duas tabelas e depois usa o WriteXml método para escrever os dados contidos na tabela pai para um TextWriter. O exemplo demonstra o comportamento ao definir o writeHierarchy parâmetro para cada um dos 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>

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Normalmente, o WriteXml método guarda dados apenas para a tabela atual. O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Normalmente, o WriteXml método escreve os dados apenas para a tabela atual. Para escrever os dados da tabela atual e de todas as suas tabelas descendentes relacionadas, chama o método com o writeHierarchy parâmetro definido como true.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(String, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o ficheiro especificado. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para 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 ficheiro onde escrever os dados XML.

writeHierarchy
Boolean

Se true, escreva o conteúdo da tabela atual e de todos os seus descendentes. Se false (o valor padrão), escreva os dados apenas para a tabela atual.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Normalmente, o WriteXml método escreve os dados apenas para a tabela atual. Para escrever os dados da tabela atual e de todas as suas tabelas descendentes relacionadas, chama o método com o writeHierarchy parâmetro definido como true.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(Stream, Boolean)

Escreve o conteúdo atual do DataTable como XML usando o especificado Stream. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para 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 para onde os dados serão escritos.

writeHierarchy
Boolean

Se true, escreva o conteúdo da tabela atual e de todos os seus descendentes. Se false (o valor padrão), escreva os dados apenas para a tabela atual.

Observações

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

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

Para escrever os dados num documento XML, use o WriteXml método.

Normalmente, o WriteXml método escreve os dados apenas para a tabela atual. Para escrever os dados da tabela atual e de todas as suas tabelas descendentes relacionadas, chama o método com o writeHierarchy parâmetro definido como true.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Escreve os dados atuais, e opcionalmente o esquema, para o DataTable usando os especificados XmlWriter e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para 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

Eles XmlWriter usaram para escrever o documento.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

writeHierarchy
Boolean

Se true, escreva o conteúdo da tabela atual e de todos os seus descendentes. Se false (o valor padrão), escreva os dados apenas para a tabela atual.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use uma das sobrecargas que incluam o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Normalmente, o WriteXml método escreve os dados apenas para a tabela atual. Para escrever os dados para a tabela atual e todas as suas tabelas descendentes relacionadas, chama o método com o writeHierarchy parâmetro definido em true.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(String)

Escreve o conteúdo atual do DataTable como XML usando o ficheiro 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 ficheiro onde escrever os dados XML.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(TextWriter)

Escreve o conteúdo atual do DataTable como XML usando o especificado 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 que escrever o conteúdo.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(Stream)

Escreve o conteúdo atual do DataTable como XML usando o especificado 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 para onde os dados serão escritos.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use um dos sobrecarregamentos que inclua o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(String, XmlWriteMode, Boolean)

Escreve os dados atuais e, opcionalmente, o esquema, para o DataTable usando o ficheiro especificado e XmlWriteMode. Para escrever o esquema, defina o valor do mode parâmetro para WriteSchema. Para guardar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro para 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 ficheiro onde os dados serão escritos.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

writeHierarchy
Boolean

Se true, escreva o conteúdo da tabela atual e de todos os seus descendentes. Se false (o valor padrão), escreva os dados apenas para a tabela atual.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use uma das sobrecargas que incluam o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Normalmente, o WriteXml método guarda dados apenas para a tabela atual. Se quiser guardar os dados para a tabela atual e para todo o esquema, o WriteXml método fornece uma forma de escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use uma das sobrecargas que incluam o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Normalmente, o WriteXml método escreve os dados apenas para a tabela atual. Para escrever os dados da tabela atual e de todas as tabelas descendentes relacionadas, chama o método com o writeHierarchy parâmetro definido em true.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a

WriteXml(XmlWriter)

Escreve o conteúdo atual do DataTable como XML usando o especificado 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 que escrever o conteúdo.

Observações

O WriteXml método permite escrever apenas dados, ou ambos os dados e o esquema de a DataTable num documento XML, enquanto o WriteXmlSchema método escreve apenas o esquema. Para escrever tanto dados como esquema, use uma das sobrecargas que incluam o XmlWriteMode parâmetro e defina o seu valor para WriteSchema.

Note-se que o mesmo se aplica aos ReadXml métodos e, ReadXmlSchema respetivamente. Para ler dados XML, ou tanto o esquema como os dados no DataTable, use o ReadXml método. Para ler apenas o esquema, use o ReadXmlSchema método.

Note

Um InvalidOperationException será lançado se um tipo de coluna em DataRow o que está a ser lido ou escrito em implementa IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Ver também

Aplica-se a