DataTable.WriteXml Método

Definición

Escribe el contenido actual de DataTable como XML.

Sobrecargas

Nombre Description
WriteXml(TextWriter, Boolean)

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

WriteXml(TextWriter, XmlWriteMode)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa los valores especificados TextWriter y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen .

WriteXml(String, XmlWriteMode)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa el archivo especificado y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen .

WriteXml(Stream, XmlWriteMode)

Escribe los datos actuales y, opcionalmente, el esquema , para en DataTable el archivo especificado mediante el especificado XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen .

WriteXml(XmlWriter, Boolean)

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

WriteXml(XmlWriter, XmlWriteMode)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa los valores especificados XmlWriter y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen .

WriteXml(Stream, XmlWriteMode, Boolean)

Escribe los datos actuales y, opcionalmente, el esquema , para en DataTable el archivo especificado mediante el especificado XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen . Para guardar los datos de la tabla y todos sus descendientes, establezca el writeHierarchy parámetro trueen .

WriteXml(TextWriter, XmlWriteMode, Boolean)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa los valores especificados TextWriter y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen . Para guardar los datos de la tabla y todos sus descendientes, establezca el writeHierarchy parámetro trueen .

WriteXml(String, Boolean)

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

WriteXml(Stream, Boolean)

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

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa los valores especificados XmlWriter y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen . Para guardar los datos de la tabla y todos sus descendientes, establezca el writeHierarchy parámetro trueen .

WriteXml(String)

Escribe el contenido actual de DataTable como XML mediante el archivo especificado.

WriteXml(TextWriter)

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

WriteXml(Stream)

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

WriteXml(String, XmlWriteMode, Boolean)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa el archivo especificado y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen . Para guardar los datos de la tabla y todos sus descendientes, establezca el writeHierarchy parámetro trueen .

WriteXml(XmlWriter)

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

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 un TextWriter. En el ejemplo se muestra el comportamiento al establecer el writeHierarchy parámetro en cada uno de sus valores.

Note

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 la siguiente salida 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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 .

Note

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

WriteXml(TextWriter, Boolean)

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

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

con TextWriter el que se va a escribir el contenido.

writeHierarchy
Boolean

Si truees , escriba el contenido de la tabla actual y todos sus descendientes. Si false (el valor predeterminado), escriba solo los datos de 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 un 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 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 WriteSchemaen .

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.

Note

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

Consulte también

Se aplica a

WriteXml(TextWriter, XmlWriteMode)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa los valores especificados TextWriter y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen .

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 que se usa para escribir el documento.

mode
XmlWriteMode

Uno de los XmlWriteMode valores.

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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 .

Note

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

Consulte también

Se aplica a

WriteXml(String, XmlWriteMode)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa el archivo especificado y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen .

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 escribirán los datos.

mode
XmlWriteMode

Uno de los XmlWriteMode valores.

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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 .

Note

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

Consulte también

Se aplica a

WriteXml(Stream, XmlWriteMode)

Escribe los datos actuales y, opcionalmente, el esquema , para en DataTable el archivo especificado mediante el especificado XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen .

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

Flujo en el que se escribirán los datos.

mode
XmlWriteMode

Uno de los XmlWriteMode valores.

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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 .

Note

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

Consulte también

Se aplica a

WriteXml(XmlWriter, Boolean)

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

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

Parámetros

writer
XmlWriter

con XmlWriter el que se va a escribir el contenido.

writeHierarchy
Boolean

Si truees , escriba el contenido de la tabla actual y todos sus descendientes. Si false (el valor predeterminado), escriba solo los datos de la tabla actual.

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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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.

Note

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

Consulte también

Se aplica a

WriteXml(XmlWriter, XmlWriteMode)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa los valores especificados XmlWriter y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen .

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 que se usa para escribir el documento.

mode
XmlWriteMode

Uno de los XmlWriteMode valores.

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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 .

Note

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

Consulte también

Se aplica a

WriteXml(Stream, XmlWriteMode, Boolean)

Escribe los datos actuales y, opcionalmente, el esquema , para en DataTable el archivo especificado mediante el especificado XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen . Para guardar los datos de la tabla y todos sus descendientes, establezca el writeHierarchy parámetro trueen .

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

Flujo en el que se escribirán los datos.

mode
XmlWriteMode

Uno de los XmlWriteMode valores.

writeHierarchy
Boolean

Si truees , escriba el contenido de la tabla actual y todos sus descendientes. Si false (el valor predeterminado), escriba solo los datos de la tabla actual.

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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 de todas sus tablas descendientes, relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Note

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

Consulte también

Se aplica a

WriteXml(TextWriter, XmlWriteMode, Boolean)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa los valores especificados TextWriter y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen . Para guardar los datos de la tabla y todos sus descendientes, establezca el writeHierarchy parámetro trueen .

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 que se usa para escribir el documento.

mode
XmlWriteMode

Uno de los XmlWriteMode valores.

writeHierarchy
Boolean

Si truees , escriba el contenido de la tabla actual y todos sus descendientes. Si false (el valor predeterminado), escriba solo los datos de 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 un 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 la siguiente salida 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 incluye el XmlWriteMode parámetro y establezca su valor WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 de todas sus tablas descendientes, relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Note

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

Consulte también

Se aplica a

WriteXml(String, Boolean)

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

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 van a escribir los datos XML.

writeHierarchy
Boolean

Si truees , escriba el contenido de la tabla actual y todos sus descendientes. Si false (el valor predeterminado), escriba solo los datos de la tabla actual.

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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 de todas sus tablas descendientes, relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Note

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

Consulte también

Se aplica a

WriteXml(Stream, Boolean)

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

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

Flujo en el que se escribirán los datos.

writeHierarchy
Boolean

Si truees , escriba el contenido de la tabla actual y todos sus descendientes. Si false (el valor predeterminado), escriba solo los datos de 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 de todas sus tablas descendientes, relacionadas, llame al método con el writeHierarchy parámetro establecido en true.

Note

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

Consulte también

Se aplica a

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa los valores especificados XmlWriter y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen . Para guardar los datos de la tabla y todos sus descendientes, establezca el writeHierarchy parámetro trueen .

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 que se usa para escribir el documento.

mode
XmlWriteMode

Uno de los XmlWriteMode valores.

writeHierarchy
Boolean

Si truees , escriba el contenido de la tabla actual y todos sus descendientes. Si false (el valor predeterminado), escriba solo los datos de la tabla actual.

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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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.

Note

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

Consulte también

Se aplica a

WriteXml(String)

Escribe el contenido actual de DataTable como XML mediante 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 van a escribir 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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 .

Note

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

Consulte también

Se aplica a

WriteXml(TextWriter)

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

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

Parámetros

writer
TextWriter

con TextWriter 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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 .

Note

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

Consulte también

Se aplica a

WriteXml(Stream)

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

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

Parámetros

stream
Stream

Flujo en el que se escribirán 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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 .

Note

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

Consulte también

Se aplica a

WriteXml(String, XmlWriteMode, Boolean)

Escribe los datos actuales y, opcionalmente, el esquema , para el DataTable que usa el archivo especificado y XmlWriteMode. Para escribir el esquema, establezca el valor del mode parámetro WriteSchemaen . Para guardar los datos de la tabla y todos sus descendientes, establezca el writeHierarchy parámetro trueen .

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 escribirán los datos.

mode
XmlWriteMode

Uno de los XmlWriteMode valores.

writeHierarchy
Boolean

Si truees , escriba el contenido de la tabla actual y todos sus descendientes. Si false (el valor predeterminado), escriba solo los datos de la tabla actual.

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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 de todas las tablas relacionadas, llame al método con el writeHierarchy parámetro establecido trueen .

Note

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

Consulte también

Se aplica a

WriteXml(XmlWriter)

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

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

Parámetros

writer
XmlWriter

con XmlWriter 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 WriteSchemaen .

Tenga en cuenta que lo mismo sucede 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 .

Note

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

Consulte también

Se aplica a