DataTable.WriteXml Método

Definição

Grava o conteúdo atual do DataTable XML como.

Sobrecargas

Nome Description
WriteXml(TextWriter, Boolean)

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

WriteXml(TextWriter, XmlWriteMode)

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

WriteXml(String, XmlWriteMode)

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

WriteXml(Stream, XmlWriteMode)

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

WriteXml(XmlWriter, Boolean)

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

WriteXml(XmlWriter, XmlWriteMode)

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

WriteXml(Stream, XmlWriteMode, Boolean)

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

WriteXml(TextWriter, XmlWriteMode, Boolean)

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

WriteXml(String, Boolean)

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

WriteXml(Stream, Boolean)

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

WriteXml(XmlWriter, XmlWriteMode, Boolean)

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

WriteXml(Stream)

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

WriteXml(String, XmlWriteMode, Boolean)

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

WriteXml(XmlWriter)

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

Exemplos

O aplicativo de console a seguir cria duas DataTable instâncias, adiciona cada uma a uma DataSet, cria uma DataRelation relação entre 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 para cada um de seus valores.

Note

Este exemplo mostra como usar uma das versões sobrecarregadas do WriteXml. Para obter outros exemplos que podem 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 WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que incluem o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

WriteXml(TextWriter, Boolean)

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

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

Parâmetros

writer
TextWriter

O TextWriter com o qual gravar o conteúdo.

writeHierarchy
Boolean

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

Exemplos

O aplicativo de console a seguir cria duas DataTable instâncias, adiciona cada uma a uma DataSet, cria uma DataRelation relação entre 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 WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

Normalmente, o WriteXml método grava os dados apenas 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.

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(TextWriter, XmlWriteMode)

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

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

Parâmetros

writer
TextWriter

O TextWriter usado para gravar o documento.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(String, XmlWriteMode)

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

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que incluem o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(Stream, XmlWriteMode)

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

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

Parâmetros

stream
Stream

O fluxo no qual os dados serão gravados.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(XmlWriter, Boolean)

Grava o conteúdo atual do DataTable XML como 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 o qual gravar o conteúdo.

writeHierarchy
Boolean

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

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que incluem o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Normalmente, o WriteXml método grava os dados apenas para a tabela atual. Para gravar os dados da tabela atual e de todo o descendente, tabelas relacionadas, chame o método com o writeHierarchy parâmetro definido como true.

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(XmlWriter, XmlWriteMode)

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

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

Parâmetros

writer
XmlWriter

O XmlWriter usado para gravar o documento.

mode
XmlWriteMode

Um dos XmlWriteMode valores.

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que incluem o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(Stream, XmlWriteMode, Boolean)

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

writeHierarchy
Boolean

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

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Normalmente, o WriteXml método salva dados apenas para a tabela atual. O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Normalmente, o WriteXml método grava os dados apenas 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.

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(TextWriter, XmlWriteMode, Boolean)

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

writeHierarchy
Boolean

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

Exemplos

O aplicativo de console a seguir cria duas DataTable instâncias, adiciona cada uma a uma DataSet, cria uma DataRelation relação entre 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 para 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 WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Normalmente, o WriteXml método salva dados apenas para a tabela atual. O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Normalmente, o WriteXml método grava os dados apenas 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.

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(String, Boolean)

Grava o conteúdo atual do DataTable como XML usando o arquivo especificado. Para salvar os dados da tabela e de todos os seus descendentes, defina o writeHierarchy parâmetro 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 true, escreva o conteúdo da tabela atual e todos os seus descendentes. Se false (o valor padrão), escreva os dados somente para a tabela atual.

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Normalmente, o WriteXml método grava os dados apenas 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.

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(Stream, Boolean)

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

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

Parâmetros

stream
Stream

O fluxo no qual os dados serão gravados.

writeHierarchy
Boolean

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

Comentários

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

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

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

Normalmente, o WriteXml método grava os dados apenas 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.

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(XmlWriter, XmlWriteMode, Boolean)

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

writeHierarchy
Boolean

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

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que incluem o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Normalmente, o WriteXml método grava os dados apenas para a tabela atual. Para gravar os dados da tabela atual e de todo o descendente, tabelas relacionadas, chame o método com o writeHierarchy parâmetro definido como true.

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(String)

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 WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(TextWriter)

Grava o conteúdo atual do DataTable XML como 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 o qual gravar o conteúdo.

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(Stream)

Grava o conteúdo atual do DataTable XML como 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 no qual os dados serão gravados.

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que inclui o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(String, XmlWriteMode, Boolean)

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

writeHierarchy
Boolean

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

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que incluem o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Normalmente, o WriteXml método salva dados apenas 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 apenas dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que incluem o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Normalmente, o WriteXml método grava os dados apenas 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.

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a

WriteXml(XmlWriter)

Grava o conteúdo atual do DataTable XML como 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 o qual gravar o conteúdo.

Comentários

O WriteXml método fornece uma maneira de gravar somente dados ou dados e esquema de um DataTable documento XML, enquanto o WriteXmlSchema método grava apenas o esquema. Para gravar dados e esquema, use uma das sobrecargas que incluem o XmlWriteMode parâmetro e defina seu valor como WriteSchema.

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

Note

Um InvalidOperationException será gerado se um tipo de coluna no DataRow que está sendo lido ou gravado para implementar IDynamicMetaObjectProvider e não implementar IXmlSerializable.

Confira também

Aplica-se a