DataTable.WriteXml Método

Definición

Escribe el contenido actual del objeto DataTable como XML.

Sobrecargas

WriteXml(TextWriter, Boolean)

Escribe el contenido actual de DataTable como datos XML mediante el TextWriter especificado. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.

WriteXml(XmlWriter, Boolean)

Escribe el contenido actual de DataTable como datos XML mediante el XmlWriter especificado.

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

WriteXml(String, Boolean)

Escribe el contenido actual del objeto DataTable como elemento XML utilizando el archivo especificado. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

WriteXml(Stream, Boolean)

Escribe el contenido actual de DataTable como datos XML mediante el Stream especificado. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

WriteXml(String)

Escribe el contenido actual del objeto DataTable como elemento XML utilizando el archivo especificado.

WriteXml(TextWriter)

Escribe el contenido actual de DataTable como datos XML mediante el TextWriter especificado.

WriteXml(Stream)

Escribe el contenido actual de DataTable como datos XML mediante el Stream especificado.

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

WriteXml(XmlWriter)

Escribe el contenido actual de DataTable como datos XML mediante el XmlWriter especificado.

Ejemplos

La siguiente aplicación de consola crea dos DataTable instancias, agrega cada una a , DataSetcrea una DataRelation relación con las dos tablas y, a continuación, usa el WriteXml método para escribir los datos contenidos en la tabla primaria en .TextWriter En el ejemplo se muestra el comportamiento al establecer el writeHierarchy parámetro en cada uno de sus valores.

Nota

En este ejemplo se muestra cómo usar una de las versiones sobrecargadas de WriteXml. Para ver otros ejemplos que podrían estar disponibles, consulte los temas de sobrecarga individuales.

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:

==============================  
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 solo datos, o tanto datos como esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluyen el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo es true para los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Nota

InvalidOperationException Se producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

WriteXml(TextWriter, Boolean)

Escribe el contenido actual de DataTable como datos XML mediante el TextWriter especificado. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

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

Parámetros

writer
TextWriter

TextWriter con el que se va a escribir el contenido.

writeHierarchy
Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.

Ejemplos

La siguiente aplicación de consola crea dos DataTable instancias, agrega cada una a , DataSetcrea una DataRelation relación con las dos tablas y, a continuación, usa el WriteXml método para escribir los datos contenidos en la tabla primaria en .TextWriter En el ejemplo se muestra el comportamiento al establecer el writeHierarchy parámetro trueen .

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 solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Normalmente, el WriteXml método escribe los datos solo para la tabla actual. 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.

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.

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

Parámetros

writer
TextWriter

Objeto TextWriter que se utiliza para escribir el documento.

mode
XmlWriteMode

Uno de los valores de XmlWriteMode.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

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. Para escribir el esquema, establezca el valor del parámetro mode en 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

Nombre del archivo en el que se van a escribir los datos.

mode
XmlWriteMode

Uno de los valores de XmlWriteMode.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluyen el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.

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

Parámetros

stream
Stream

Secuencia en la que se van a escribir los datos.

mode
XmlWriteMode

Uno de los valores de XmlWriteMode.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

WriteXml(XmlWriter, Boolean)

Escribe el contenido actual de DataTable como datos XML mediante el XmlWriter especificado.

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

Parámetros

writer
XmlWriter

Objeto XmlWriter con el que se va a escribir el contenido.

writeHierarchy
Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluyen el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Normalmente, el WriteXml método escribe los datos solo para la tabla actual. Para escribir los datos de la tabla actual y su descendiente completo, las tablas relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema.

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

Parámetros

writer
XmlWriter

Objeto XmlWriter que se utiliza para escribir el documento.

mode
XmlWriteMode

Uno de los valores de XmlWriteMode.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluyen el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

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

Parámetros

stream
Stream

Secuencia en la que se van a escribir los datos.

mode
XmlWriteMode

Uno de los valores de XmlWriteMode.

writeHierarchy
Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Normalmente, el WriteXml método guarda los datos solo para la tabla actual. El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Normalmente, el WriteXml método escribe los datos solo para la tabla actual. Para escribir los datos de la tabla actual y todas sus tablas descendientes, relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

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

Parámetros

writer
TextWriter

Objeto TextWriter que se utiliza para escribir el documento.

mode
XmlWriteMode

Uno de los valores de XmlWriteMode.

writeHierarchy
Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.

Ejemplos

La siguiente aplicación de consola crea dos DataTable instancias, agrega cada una a , DataSetcrea una DataRelation relación con las dos tablas y, a continuación, usa el WriteXml método para escribir los datos contenidos en la tabla primaria en .TextWriter En el ejemplo se muestra el comportamiento al establecer el writeHierarchy parámetro en cada uno de sus 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

En el ejemplo se muestra el siguiente resultado en la ventana de consola:

==============================  
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 solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Normalmente, el WriteXml método guarda los datos solo para la tabla actual. El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Normalmente, el WriteXml método escribe los datos solo para la tabla actual. Para escribir los datos de la tabla actual y todas sus tablas descendientes, relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

WriteXml(String, Boolean)

Escribe el contenido actual del objeto DataTable como elemento XML utilizando el archivo especificado. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en 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

Archivo en el que se escriben los datos XML

writeHierarchy
Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Normalmente, el WriteXml método escribe los datos solo para la tabla actual. Para escribir los datos de la tabla actual y todas sus tablas descendientes, relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

WriteXml(Stream, Boolean)

Escribe el contenido actual de DataTable como datos XML mediante el Stream especificado. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

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

Parámetros

stream
Stream

Secuencia en la que se van a escribir los datos.

writeHierarchy
Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.

Comentarios

Use el WriteXmlSchema método para escribir el esquema de en DataTable un documento XML. El esquema incluye definiciones de tabla, relación y restricción.

El esquema XML se escribe mediante el estándar XSD.

Para escribir los datos en un documento XML, use el WriteXml método .

Normalmente, el WriteXml método escribe los datos solo para la tabla actual. Para escribir los datos de la tabla actual y todas sus tablas descendientes, relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.

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

Parámetros

writer
XmlWriter

Objeto XmlWriter que se utiliza para escribir el documento.

mode
XmlWriteMode

Uno de los valores de XmlWriteMode.

writeHierarchy
Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluyen el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Normalmente, el WriteXml método escribe los datos solo para la tabla actual. Para escribir los datos de la tabla actual y su descendiente completo, las tablas relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

WriteXml(String)

Escribe el contenido actual del objeto DataTable como elemento XML utilizando el archivo 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

Archivo en el que se escriben los datos XML

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o tanto datos como esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo es true para los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Nota

InvalidOperationException Se producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

WriteXml(TextWriter)

Escribe el contenido actual de DataTable como datos XML mediante el TextWriter especificado.

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

Parámetros

writer
TextWriter

TextWriter con el que se va a escribir el contenido.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o tanto datos como esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo es true para los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Nota

InvalidOperationException Se producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

WriteXml(Stream)

Escribe el contenido actual de DataTable como datos XML mediante el Stream especificado.

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

Parámetros

stream
Stream

Secuencia en la que se van a escribir los datos.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o tanto datos como esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluye el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo es true para los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Nota

InvalidOperationException Se producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

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. Para escribir el esquema, establezca el valor del parámetro mode en WriteSchema. Para guardar los datos de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en 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

Nombre del archivo en el que se van a escribir los datos.

mode
XmlWriteMode

Uno de los valores de XmlWriteMode.

writeHierarchy
Boolean

Si es true, escribe el contenido de la tabla actual y de todos sus descendientes. Si es false (valor predeterminado), escribe sólo los datos para la tabla actual.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluyen el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Normalmente, el WriteXml método guarda los datos solo para la tabla actual. Si desea guardar los datos de la tabla actual y de todo el esquema, el WriteXml método proporciona una manera de escribir solo datos, o bien datos y esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluyen el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo ocurre con los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Normalmente, el WriteXml método escribe los datos solo para la tabla actual. Para escribir los datos de la tabla actual y todas las tablas relacionadas, relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Nota

Se InvalidOperationException producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a

WriteXml(XmlWriter)

Escribe el contenido actual de DataTable como datos XML mediante el XmlWriter especificado.

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

Parámetros

writer
XmlWriter

Objeto XmlWriter con el que se va a escribir el contenido.

Comentarios

El WriteXml método proporciona una manera de escribir solo datos, o tanto datos como esquemas de en un DataTable documento XML, mientras que el WriteXmlSchema método escribe solo el esquema. Para escribir datos y esquemas, use una de las sobrecargas que incluyen el XmlWriteMode parámetro y establezca su valor en WriteSchema.

Tenga en cuenta que lo mismo es true para los ReadXml métodos y ReadXmlSchema , respectivamente. Para leer datos XML, o tanto el esquema como los DataTabledatos en , use el ReadXml método . Para leer solo el esquema, use el ReadXmlSchema método .

Nota

InvalidOperationException Se producirá una excepción si un tipo de columna en el DataRow que se lee o se escribe en implementa IDynamicMetaObjectProvider y no implementa IXmlSerializable.

Consulte también

Se aplica a