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

Definición

Escribe el contenido actual del objeto DataTable como XML.Writes the current contents of the DataTable as XML.

Sobrecargas

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

Escribe el contenido actual de DataTable como datos XML mediante el TextWriter especificado.Writes the current contents of the DataTable as XML using the specified TextWriter. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable mediante el objeto TextWriter y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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

Escribe los datos actuales y, de forma opcional, el esquema para el DataTable mediante el archivo y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable en el archivo indicado mediante la enumeración XmlWriteMode especificada.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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

Escribe el contenido actual de DataTable como datos XML mediante el XmlWriter especificado.Writes the current contents of the DataTable as XML using the specified XmlWriter.

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable mediante el objeto XmlWriter y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable en el archivo indicado mediante la enumeración XmlWriteMode especificada.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable mediante el objeto TextWriter y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Escribe el contenido actual del objeto DataTable como elemento XML utilizando el archivo especificado.Writes the current contents of the DataTable as XML using the specified file. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Escribe el contenido actual de DataTable como datos XML mediante el Stream especificado.Writes the current contents of the DataTable as XML using the specified Stream. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable mediante el objeto XmlWriter y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Escribe el contenido actual del objeto DataTable como elemento XML utilizando el archivo especificado.Writes the current contents of the DataTable as XML using the specified file.

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

Escribe el contenido actual de DataTable como datos XML mediante el TextWriter especificado.Writes the current contents of the DataTable as XML using the specified TextWriter.

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

Escribe el contenido actual de DataTable como datos XML mediante el Stream especificado.Writes the current contents of the DataTable as XML using the specified Stream.

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

Escribe los datos actuales y, de forma opcional, el esquema para el DataTable mediante el archivo y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Escribe el contenido actual de DataTable como datos XML mediante el XmlWriter especificado.Writes the current contents of the DataTable as XML using the specified XmlWriter.

Ejemplos

La aplicación de consola siguiente crea dos DataTable instancias, agrega cada uno a un DataSet, crea un DataRelation relacionados con las dos tablas y, a continuación, usa el WriteXml método para escribir los datos contenidos en la tabla primaria a una TextWriter.The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXml method to write the data contained within the parent table to a TextWriter. El ejemplo muestra el comportamiento al establecer el writeHierarchy parámetro para cada uno de sus valores.The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

Nota

En este ejemplo se muestra cómo utilizar una de las versiones sobrecargadas de WriteXml.This example shows how to use one of the overloaded versions of WriteXml. Para obtener otros ejemplos, vea los temas individuales de sobrecarga.For other examples that might be available, see the individual overload topics.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

En el ejemplo se muestra el siguiente resultado en la ventana de consola:The example displays the following output in the console window:

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

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

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluyen la XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

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

Escribe el contenido actual de DataTable como datos XML mediante el TextWriter especificado.Writes the current contents of the DataTable as XML using the specified TextWriter. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Parámetros

writer
TextWriter TextWriter TextWriter TextWriter

TextWriter con el que se va a escribir el contenido.The TextWriter with which to write the content.

writeHierarchy
Boolean Boolean Boolean Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes.If true, write the contents of the current table and all its descendants. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.If false (the default value), write the data for the current table only.

Ejemplos

La aplicación de consola siguiente crea dos DataTable instancias, agrega cada uno a un DataSet, crea un DataRelation relacionados con las dos tablas y, a continuación, usa el WriteXml método para escribir los datos contenidos en la tabla primaria a una TextWriter.The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXml method to write the data contained within the parent table to a TextWriter. El ejemplo muestra el comportamiento al establecer el writeHierarchy parámetro true.The example demonstrates the behavior when setting the writeHierarchy parameter to true.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Normalmente el WriteXml método escribe los datos solo para la tabla actual.Normally the WriteXml method writes the data only for the current table. Para escribir los datos de la tabla actual y todos sus descendientes tablas relacionadas, llame al método con el writeHierarchy parámetro establecido en true.To write the data for the current table and all its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable mediante el objeto TextWriter y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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

Parámetros

writer
TextWriter TextWriter TextWriter TextWriter

Objeto TextWriter que se utiliza para escribir el documento.The TextWriter used to write the document.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Uno de los valores de XmlWriteMode.One of the XmlWriteMode values.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe los datos actuales y, de forma opcional, el esquema para el DataTable mediante el archivo y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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

Parámetros

fileName
String String String String

Nombre del archivo en el que se van a escribir los datos.The name of the file to which the data will be written.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Uno de los valores de XmlWriteMode.One of the XmlWriteMode values.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluyen la XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable en el archivo indicado mediante la enumeración XmlWriteMode especificada.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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

Parámetros

stream
Stream Stream Stream Stream

Secuencia en la que se van a escribir los datos.The stream to which the data will be written.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Uno de los valores de XmlWriteMode.One of the XmlWriteMode values.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe el contenido actual de DataTable como datos XML mediante el XmlWriter especificado.Writes the current contents of the DataTable as XML using the specified XmlWriter.

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

Parámetros

writer
XmlWriter XmlWriter XmlWriter XmlWriter

Objeto XmlWriter con el que se va a escribir el contenido.The XmlWriter with which to write the contents.

writeHierarchy
Boolean Boolean Boolean Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes.If true, write the contents of the current table and all its descendants. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.If false (the default value), write the data for the current table only.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluyen la XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Normalmente el WriteXml método escribe los datos solo para la tabla actual.Normally the WriteXml method writes the data only for the current table. Para escribir los datos de la tabla actual y sus tablas relacionados descendientes completos, llame al método con el writeHierarchy parámetro establecido en true.To write the data for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable mediante el objeto XmlWriter y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

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

Parámetros

writer
XmlWriter XmlWriter XmlWriter XmlWriter

Objeto XmlWriter que se utiliza para escribir el documento.The XmlWriter used to write the document.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Uno de los valores de XmlWriteMode.One of the XmlWriteMode values.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluyen la XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable en el archivo indicado mediante la enumeración XmlWriteMode especificada.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Parámetros

stream
Stream Stream Stream Stream

Secuencia en la que se van a escribir los datos.The stream to which the data will be written.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Uno de los valores de XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean Boolean Boolean Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes.If true, write the contents of the current table and all its descendants. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.If false (the default value), write the data for the current table only.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Normalmente, el WriteXml método guarda los datos solo para la tabla actual.Normally, the WriteXml method saves data only for the current table. El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Normalmente el WriteXml método escribe los datos solo para la tabla actual.Normally the WriteXml method writes the data only for the current table. Para escribir los datos de la tabla actual y todos sus descendientes, las tablas relacionadas, llame al método con el writeHierarchy parámetro establecido en true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable mediante el objeto TextWriter y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Parámetros

writer
TextWriter TextWriter TextWriter TextWriter

Objeto TextWriter que se utiliza para escribir el documento.The TextWriter used to write the document.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Uno de los valores de XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean Boolean Boolean Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes.If true, write the contents of the current table and all its descendants. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.If false (the default value), write the data for the current table only.

Ejemplos

La aplicación de consola siguiente crea dos DataTable instancias, agrega cada uno a un DataSet, crea un DataRelation relacionados con las dos tablas y, a continuación, usa el WriteXml método para escribir los datos contenidos en la tabla primaria a una TextWriter.The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXml method to write the data contained within the parent table to a TextWriter. El ejemplo muestra el comportamiento al establecer el writeHierarchy parámetro para cada uno de sus valores.The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

En el ejemplo se muestra el siguiente resultado en la ventana de consola:The example displays the following output in the console window:

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

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

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Normalmente, el WriteXml método guarda los datos solo para la tabla actual.Normally, the WriteXml method saves data only for the current table. El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Normalmente el WriteXml método escribe los datos solo para la tabla actual.Normally the WriteXml method writes the data only for the current table. Para escribir los datos de la tabla actual y todos sus descendientes, las tablas relacionadas, llame al método con el writeHierarchy parámetro establecido en true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe el contenido actual del objeto DataTable como elemento XML utilizando el archivo especificado.Writes the current contents of the DataTable as XML using the specified file. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Parámetros

fileName
String String String String

Archivo en el que se escriben los datos XMLThe file to which to write the XML data.

writeHierarchy
Boolean Boolean Boolean Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes.If true, write the contents of the current table and all its descendants. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.If false (the default value), write the data for the current table only.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Normalmente el WriteXml método escribe los datos solo para la tabla actual.Normally the WriteXml method writes the data only for the current table. Para escribir los datos de la tabla actual y todos sus descendientes, las tablas relacionadas, llame al método con el writeHierarchy parámetro establecido en true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe el contenido actual de DataTable como datos XML mediante el Stream especificado.Writes the current contents of the DataTable as XML using the specified Stream. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Parámetros

stream
Stream Stream Stream Stream

Secuencia en la que se van a escribir los datos.The stream to which the data will be written.

writeHierarchy
Boolean Boolean Boolean Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes.If true, write the contents of the current table and all its descendants. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.If false (the default value), write the data for the current table only.

Comentarios

Use la WriteXmlSchema método para escribir el esquema para un DataTable a un documento XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. El esquema incluye definiciones de tabla, relaciones y restricciones.The schema includes table, relation, and constraint definitions.

El esquema XML se escribe mediante el estándar XSD.The XML schema is written using the XSD standard.

Para escribir los datos en un documento XML, utilice el WriteXml método.To write the data to an XML document, use the WriteXml method.

Normalmente el WriteXml método escribe los datos solo para la tabla actual.Normally the WriteXml method writes the data only for the current table. Para escribir los datos de la tabla actual y todos sus descendientes, las tablas relacionadas, llame al método con el writeHierarchy parámetro establecido en true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe los datos actuales y, de forma opcional, el esquema para el objeto DataTable mediante el objeto XmlWriter y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Parámetros

writer
XmlWriter XmlWriter XmlWriter XmlWriter

Objeto XmlWriter que se utiliza para escribir el documento.The XmlWriter used to write the document.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Uno de los valores de XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean Boolean Boolean Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes.If true, write the contents of the current table and all its descendants. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.If false (the default value), write the data for the current table only.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluyen la XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Normalmente el WriteXml método escribe los datos solo para la tabla actual.Normally the WriteXml method writes the data only for the current table. Para escribir los datos de la tabla actual y sus tablas relacionados descendientes completos, llame al método con el writeHierarchy parámetro establecido en true.To write the data for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe el contenido actual del objeto DataTable como elemento XML utilizando el archivo especificado.Writes the current contents of the DataTable as XML using the specified file.

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

Parámetros

fileName
String String String String

Archivo en el que se escriben los datos XMLThe file to which to write the XML data.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe el contenido actual de DataTable como datos XML mediante el TextWriter especificado.Writes the current contents of the DataTable as XML using the specified TextWriter.

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

Parámetros

writer
TextWriter TextWriter TextWriter TextWriter

TextWriter con el que se va a escribir el contenido.The TextWriter with which to write the content.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe el contenido actual de DataTable como datos XML mediante el Stream especificado.Writes the current contents of the DataTable as XML using the specified Stream.

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

Parámetros

stream
Stream Stream Stream Stream

Secuencia en la que se van a escribir los datos.The stream to which the data will be written.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe los datos actuales y, de forma opcional, el esquema para el DataTable mediante el archivo y la enumeración XmlWriteMode especificados.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

Parámetros

fileName
String String String String

Nombre del archivo en el que se van a escribir los datos.The name of the file to which the data will be written.

mode
XmlWriteMode XmlWriteMode XmlWriteMode XmlWriteMode

Uno de los valores de XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean Boolean Boolean Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes.If true, write the contents of the current table and all its descendants. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.If false (the default value), write the data for the current table only.

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluyen la XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Normalmente, el WriteXml método guarda los datos solo para la tabla actual.Normally, the WriteXml method saves data only for the current table. Si desea guardar los datos de la tabla actual y todo el esquema, el WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.If you want to save the data for the current table and all of schema, the WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluyen la XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Normalmente el WriteXml método escribe los datos solo para la tabla actual.Normally the WriteXml method writes the data only for the current table. Para escribir los datos de la tabla actual y todas las tablas descendientes relacionadas, llame al método con el writeHierarchy parámetro establecido en true.To write the data for the current table and all descendant, related tables, call the method with the writeHierarchy parameter set to true.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

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

Escribe el contenido actual de DataTable como datos XML mediante el XmlWriter especificado.Writes the current contents of the DataTable as XML using the specified XmlWriter.

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

Parámetros

writer
XmlWriter XmlWriter XmlWriter XmlWriter

Objeto XmlWriter con el que se va a escribir el contenido.The XmlWriter with which to write the contents.

Implementaciones

Comentarios

El WriteXml método proporciona una manera de escribir datos sólo, o los datos y esquema a partir de un DataTable en un documento XML, mientras que el WriteXmlSchema método sólo escribe el esquema.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Para escribir los datos y el esquema, utilice una de las sobrecargas que incluyen la XmlWriteMode parámetro y establezca su valor en WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Tenga en cuenta que el mismo es cierto para el ReadXml y ReadXmlSchema métodos, respectivamente.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Para leer datos XML, o el esquema y los datos del DataTable, utilice el ReadXml método.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Para leer únicamente el esquema, utilice el ReadXmlSchema método.To read just the schema, use the ReadXmlSchema method.

Nota

Un InvalidOperationException se producirá si un tipo de columna en la DataRow que se leen o escriben a implements IDynamicMetaObjectProvider y no implementa IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Consulte también:

Se aplica a