DataTable.WriteXmlSchema DataTable.WriteXmlSchema DataTable.WriteXmlSchema DataTable.WriteXmlSchema Method

Definición

Escribe la estructura de datos actual del objeto DataTable como esquema XML.Writes the current data structure of the DataTable as an XML schema.

Sobrecargas

WriteXmlSchema(Stream) WriteXmlSchema(Stream) WriteXmlSchema(Stream)

Escribe en la secuencia especificada la estructura de datos actual del objeto DataTable como esquema XML.Writes the current data structure of the DataTable as an XML schema to the specified stream.

WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter)

Escribe la estructura de datos actual del objeto DataTable como esquema XML, utilizando el objeto TextWriter especificado.Writes the current data structure of the DataTable as an XML schema using the specified TextWriter.

WriteXmlSchema(String) WriteXmlSchema(String) WriteXmlSchema(String) WriteXmlSchema(String)

Escribe en el archivo especificado la estructura de datos actual del objeto DataTable como esquema XML.Writes the current data structure of the DataTable as an XML schema to the specified file.

WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter)

Escribe la estructura de datos actual del objeto DataTable como esquema XML, utilizando el objeto XmlWriter especificado.Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter.

WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean)

Escribe en la secuencia especificada la estructura de datos actual del objeto DataTable como esquema XML.Writes the current data structure of the DataTable as an XML schema to the specified stream. Para guardar el esquema de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean)

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

WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean)

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

WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean)

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

Ejemplos

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

Nota

En este ejemplo se muestra cómo usar una de las versiones sobrecargadas de WriteXmlSchema para otros ejemplos que podrían estar disponibles, vea los temas individuales de sobrecarga.This example shows how to use one of the overloaded versions of WriteXmlSchema For other examples that might be available, see the individual overload topics.

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

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

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

    writer = new System.IO.StringWriter();
    customerTable.WriteXmlSchema(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 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.WriteXmlSchema(writer, False)
  PrintOutput(writer, "Customer table, without hierarchy")

  writer = New System.IO.StringWriter
  customerTable.WriteXmlSchema(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 writer As System.IO.TextWriter, ByVal caption As String)

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

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

==============================  
Customer table, without hierarchy  
==============================  
<?xml version="1.0" encoding="utf-16"?>  
<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="Ta  
ble1">  
    <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>  
==============================  
Customer table, with hierarchy  
==============================  
<?xml version="1.0" encoding="utf-16"?>  
<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" msdata: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>  

Comentarios

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

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

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

WriteXmlSchema(Stream) WriteXmlSchema(Stream) WriteXmlSchema(Stream)

Escribe en la secuencia especificada la estructura de datos actual del objeto DataTable como esquema XML.Writes the current data structure of the DataTable as an XML schema to the specified stream.

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

Parámetros

stream
Stream Stream Stream Stream

Secuencia en la que se va a escribir el esquema XML.The stream to which the XML schema will be written.

Comentarios

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

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

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

Consulte también:

WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter)

Escribe la estructura de datos actual del objeto DataTable como esquema XML, utilizando el objeto TextWriter especificado.Writes the current data structure of the DataTable as an XML schema using the specified TextWriter.

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

Parámetros

writer
TextWriter TextWriter TextWriter TextWriter

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

Comentarios

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

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

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

Consulte también:

WriteXmlSchema(String) WriteXmlSchema(String) WriteXmlSchema(String) WriteXmlSchema(String)

Escribe en el archivo especificado la estructura de datos actual del objeto DataTable como esquema XML.Writes the current data structure of the DataTable as an XML schema to the specified file.

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

Parámetros

fileName
String String String String

Nombre del archivo que se va a utilizar.The name of the file to use.

Comentarios

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

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

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

Consulte también:

WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter)

Escribe la estructura de datos actual del objeto DataTable como esquema XML, utilizando el objeto XmlWriter especificado.Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter.

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

Parámetros

writer
XmlWriter XmlWriter XmlWriter XmlWriter

Objeto XmlWriter que se va a usar.The XmlWriter to use.

Comentarios

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

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

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

Consulte también:

WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean)

Escribe en la secuencia especificada la estructura de datos actual del objeto DataTable como esquema XML.Writes the current data structure of the DataTable as an XML schema to the specified stream. Para guardar el esquema de la tabla y de todos sus descendientes, establezca el parámetro writeHierarchy en true.To save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

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

Parámetros

stream
Stream Stream Stream Stream

Secuencia en la que se va a escribir el esquema XML.The stream to which the XML schema will be written.

writeHierarchy
Boolean Boolean Boolean Boolean

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

Comentarios

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

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

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

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

Consulte también:

WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean)

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

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

Parámetros

writer
TextWriter TextWriter TextWriter TextWriter

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

writeHierarchy
Boolean Boolean Boolean Boolean

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

Ejemplos

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

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

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

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

    writer = new System.IO.StringWriter();
    customerTable.WriteXmlSchema(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 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.WriteXmlSchema(writer, False)
  PrintOutput(writer, "Customer table, without hierarchy")

  writer = New System.IO.StringWriter
  customerTable.WriteXmlSchema(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 writer As System.IO.TextWriter, ByVal caption As String)

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

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

==============================  
Customer table, without hierarchy  
==============================  
<?xml version="1.0" encoding="utf-16"?>  
<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="Ta  
ble1">  
    <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>  
==============================  
Customer table, with hierarchy  
==============================  
<?xml version="1.0" encoding="utf-16"?>  
<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" msdata: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>  

Comentarios

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

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

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

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

Consulte también:

WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean)

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

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

Parámetros

writer
XmlWriter XmlWriter XmlWriter XmlWriter

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

writeHierarchy
Boolean Boolean Boolean Boolean

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

Comentarios

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

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

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

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

Consulte también:

WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean)

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

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

Parámetros

fileName
String String String String

Nombre del archivo que se va a utilizar.The name of the file to use.

writeHierarchy
Boolean Boolean Boolean Boolean

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

Comentarios

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

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

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

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

Consulte también:

Se aplica a