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

Définition

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML.Writes the current data structure of the DataTable as an XML schema.

Surcharges

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le flux de données spécifié.Writes the current data structure of the DataTable as an XML schema to the specified stream.

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du TextWriter spécifié.Writes the current data structure of the DataTable as an XML schema using the specified TextWriter.

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le fichier spécifié.Writes the current data structure of the DataTable as an XML schema to the specified file.

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du XmlWriter spécifié.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)

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le flux de données spécifié.Writes the current data structure of the DataTable as an XML schema to the specified stream. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur 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)

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du TextWriter spécifié.Writes the current data structure of the DataTable as an XML schema using the specified TextWriter. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur 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)

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du XmlWriter spécifié.Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur 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)

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le fichier spécifié.Writes the current data structure of the DataTable as an XML schema to the specified file. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.To save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

Exemples

L’application console suivante crée deux DataTable instances, ajoute chacune à un DataSet, crée un DataRelation associant les deux tables, puis utilise la WriteXmlSchema méthode pour écrire les données contenues dans la table parente dans un 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. L’exemple illustre le comportement lors de la writeHierarchy définition du paramètre sur chacune de ses valeurs.The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

Notes

Cet exemple montre comment utiliser l’une des versions surchargées de WriteXmlSchema pour d’autres exemples qui peuvent être disponibles, consultez les rubriques sur les surcharges individuelles.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

L'exemple affiche la sortie suivante dans la fenêtre de console :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>  

Remarques

Utilisez la WriteXmlSchema méthode pour écrire le schéma d’un DataTable dans un document XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Le schéma XML est écrit à l’aide de la norme XSD.The XML schema is written using the XSD standard.

Pour écrire les données dans un document XML, utilisez la WriteXml méthode.To write the data to an XML document, use the WriteXml method.

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le flux de données spécifié.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

Paramètres

stream
Stream Stream Stream Stream

Flux de données dans lequel le schéma XML sera écrit.The stream to which the XML schema will be written.

Remarques

Utilisez la WriteXmlSchema méthode pour écrire le schéma d’un DataTable dans un document XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Le schéma XML est écrit à l’aide de la norme XSD.The XML schema is written using the XSD standard.

Pour écrire les données dans un document XML, utilisez la WriteXml méthode.To write the data to an XML document, use the WriteXml method.

Voir aussi

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du TextWriter spécifié.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)

Paramètres

writer
TextWriter TextWriter TextWriter TextWriter

TextWriter à l'aide duquel effectuer l'écriture.The TextWriter with which to write.

Remarques

Utilisez la WriteXmlSchema méthode pour écrire le schéma d’un DataTable dans un document XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Le schéma XML est écrit à l’aide de la norme XSD.The XML schema is written using the XSD standard.

Pour écrire les données dans un document XML, utilisez la WriteXml méthode.To write the data to an XML document, use the WriteXml method.

Voir aussi

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le fichier spécifié.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)

Paramètres

fileName
String String String String

Nom du fichier à utiliser.The name of the file to use.

Remarques

Utilisez la WriteXmlSchema méthode pour écrire le schéma d’un DataTable dans un document XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Le schéma XML est écrit à l’aide de la norme XSD.The XML schema is written using the XSD standard.

Pour écrire les données dans un document XML, utilisez la WriteXml méthode.To write the data to an XML document, use the WriteXml method.

Voir aussi

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du XmlWriter spécifié.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)

Paramètres

writer
XmlWriter XmlWriter XmlWriter XmlWriter

XmlWriter à utiliser.The XmlWriter to use.

Remarques

Utilisez la WriteXmlSchema méthode pour écrire le schéma d’un DataTable dans un document XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Le schéma XML est écrit à l’aide de la norme XSD.The XML schema is written using the XSD standard.

Pour écrire les données dans un document XML, utilisez la WriteXml méthode.To write the data to an XML document, use the WriteXml method.

Voir aussi

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le flux de données spécifié.Writes the current data structure of the DataTable as an XML schema to the specified stream. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur 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

Paramètres

stream
Stream Stream Stream Stream

Flux de données dans lequel le schéma XML sera écrit.The stream to which the XML schema will be written.

writeHierarchy
Boolean Boolean Boolean Boolean

Si true, écrivez le schéma de la table en cours et de tous ses descendants.If true, write the schema of the current table and all its descendants. Si false (valeur par défaut), écrivez le schéma pour la table en cours uniquement.If false (the default value), write the schema for the current table only.

Remarques

Utilisez la WriteXmlSchema méthode pour écrire le schéma d’un DataTable dans un document XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Le schéma XML est écrit à l’aide de la norme XSD.The XML schema is written using the XSD standard.

Pour écrire les données dans un document XML, utilisez la WriteXml méthode.To write the data to an XML document, use the WriteXml method.

Normalement, WriteXmlSchema la méthode écrit le schéma uniquement pour la table actuelle.Normally the WriteXmlSchema method writes the schema only for the current table. Pour écrire le schéma pour la table actuelle et l’ensemble de ses descendants, les tables associées, appelez writeHierarchy la méthode avec truele paramètre défini sur.To write the schema for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

Voir aussi

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du TextWriter spécifié.Writes the current data structure of the DataTable as an XML schema using the specified TextWriter. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur 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)

Paramètres

writer
TextWriter TextWriter TextWriter TextWriter

TextWriter à l'aide duquel effectuer l'écriture.The TextWriter with which to write.

writeHierarchy
Boolean Boolean Boolean Boolean

Si true, écrivez le schéma de la table en cours et de tous ses descendants.If true, write the schema of the current table and all its descendants. Si false (valeur par défaut), écrivez le schéma pour la table en cours uniquement.If false (the default value), write the schema for the current table only.

Exemples

L’application console suivante crée deux DataTable instances, ajoute chacune à un DataSet, crée un DataRelation associant les deux tables, puis utilise la WriteXmlSchema méthode pour écrire les données contenues dans la table parente dans un 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. L’exemple illustre le comportement lors de la writeHierarchy définition du paramètre sur chacune de ses valeurs.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

L'exemple affiche la sortie suivante dans la fenêtre de console :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>  

Remarques

Utilisez la WriteXmlSchema méthode pour écrire le schéma d’un DataTable dans un document XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Le schéma XML est écrit à l’aide de la norme XSD.The XML schema is written using the XSD standard.

Pour écrire les données dans un document XML, utilisez la WriteXml méthode.To write the data to an XML document, use the WriteXml method.

Normalement, WriteXmlSchema la méthode écrit le schéma uniquement pour la table actuelle.Normally the WriteXmlSchema method writes the schema only for the current table. Pour écrire le schéma pour la table actuelle et l’ensemble de ses descendants, les tables associées, appelez writeHierarchy la méthode avec truele paramètre défini sur.To write the schema for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

Voir aussi

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML à l'aide du XmlWriter spécifié.Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur 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)

Paramètres

writer
XmlWriter XmlWriter XmlWriter XmlWriter

XmlWriter utilisé pour écrire le document.The XmlWriter used to write the document.

writeHierarchy
Boolean Boolean Boolean Boolean

Si true, écrivez le schéma de la table en cours et de tous ses descendants.If true, write the schema of the current table and all its descendants. Si false (valeur par défaut), écrivez le schéma pour la table en cours uniquement.If false (the default value), write the schema for the current table only.

Remarques

Utilisez la WriteXmlSchema méthode pour écrire le schéma d’un DataTable dans un document XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Le schéma XML est écrit à l’aide de la norme XSD.The XML schema is written using the XSD standard.

Pour écrire les données dans un document XML, utilisez la WriteXml méthode.To write the data to an XML document, use the WriteXml method.

Normalement, WriteXmlSchema la méthode écrit le schéma uniquement pour la table actuelle.Normally the WriteXmlSchema method writes the schema only for the current table. Pour écrire le schéma pour la table actuelle et l’ensemble de ses descendants, les tables associées, appelez writeHierarchy la méthode avec truele paramètre défini sur.To write the schema for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

Voir aussi

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

Écrit la structure de données actuelle du DataTable sous la forme d'un schéma XML dans le fichier spécifié.Writes the current data structure of the DataTable as an XML schema to the specified file. Pour enregistrer le schéma pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur 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)

Paramètres

fileName
String String String String

Nom du fichier à utiliser.The name of the file to use.

writeHierarchy
Boolean Boolean Boolean Boolean

Si true, écrivez le schéma de la table en cours et de tous ses descendants.If true, write the schema of the current table and all its descendants. Si false (valeur par défaut), écrivez le schéma pour la table en cours uniquement.If false (the default value), write the schema for the current table only.

Remarques

Utilisez la WriteXmlSchema méthode pour écrire le schéma d’un DataTable dans un document XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Le schéma XML est écrit à l’aide de la norme XSD.The XML schema is written using the XSD standard.

Pour écrire les données dans un document XML, utilisez la WriteXml méthode.To write the data to an XML document, use the WriteXml method.

Normalement, WriteXmlSchema la méthode écrit le schéma uniquement pour la table actuelle.Normally the WriteXmlSchema method writes the schema only for the current table. Pour écrire le schéma pour la table actuelle et l’ensemble de ses descendants, les tables associées, appelez writeHierarchy la méthode avec truele paramètre défini sur.To write the schema for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

Voir aussi

S’applique à