DataTable.ReadXmlSchema DataTable.ReadXmlSchema DataTable.ReadXmlSchema DataTable.ReadXmlSchema Method

Définition

Lit un schéma XML dans le DataTable.Reads an XML schema into the DataTable.

Surcharges

ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader)

Lit un schéma XML dans le DataTable à l'aide du XmlReader spécifié.Reads an XML schema into the DataTable using the specified XmlReader.

ReadXmlSchema(String) ReadXmlSchema(String) ReadXmlSchema(String) ReadXmlSchema(String)

Lit un schéma XML dans le DataTable à partir du fichier spécifié.Reads an XML schema into the DataTable from the specified file.

ReadXmlSchema(TextReader) ReadXmlSchema(TextReader) ReadXmlSchema(TextReader) ReadXmlSchema(TextReader)

Lit un schéma XML dans le DataTable à l'aide du TextReader spécifié.Reads an XML schema into the DataTable using the specified TextReader.

ReadXmlSchema(Stream) ReadXmlSchema(Stream) ReadXmlSchema(Stream)

Lit un schéma XML dans le DataTable à l'aide du flux de données spécifié.Reads an XML schema into the DataTable using the specified stream.

Remarques

Utilisez la ReadXmlSchema méthode pour créer le schéma d’un DataTable.Use the ReadXmlSchema method to create the schema for a DataTable. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Pour écrire un schéma dans un document XML, utilisez la WriteXmlSchema méthode.To write a schema to an XML document, use the WriteXmlSchema method.

Le schéma XML est interprété en fonction de la norme XSD.The XML schema is interpreted according to the XSD standard.

La ReadXmlSchema méthode est généralement appelée avant d’appeler la ReadXml méthode utilisée pour remplir le DataTable.The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader)

Lit un schéma XML dans le DataTable à l'aide du XmlReader spécifié.Reads an XML schema into the DataTable using the specified XmlReader.

public:
 void ReadXmlSchema(System::Xml::XmlReader ^ reader);
public void ReadXmlSchema (System.Xml.XmlReader reader);
member this.ReadXmlSchema : System.Xml.XmlReader -> unit
Public Sub ReadXmlSchema (reader As XmlReader)

Paramètres

reader
XmlReader XmlReader XmlReader XmlReader

XmlReader utilisé pour lire les informations de schéma.The XmlReader used to read the schema information.

Exemples

L’application console suivante crée un nouveau DataTableet écrit le schéma pour cette table dans un. MemoryStreamThe following console application creates a new DataTable, and writes the schema for that table to a MemoryStream. Ensuite, l’exemple crée un nouveau DataTable et lit son schéma à partir du schéma XML enregistré, à XmlTextReader l’aide d’un ( XmlReaderqui hérite de) comme source.Then, the example creates a new DataTable and reads its schema from the saved XML schema, using a XmlTextReader (which inherits from XmlReader) as its source.

private static void DemonstrateReadWriteXMLSchemaWithReader()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintSchema(table, "Original table");

    // Write the schema to XML in a memory stream.
    System.IO.MemoryStream xmlStream = 
        new System.IO.MemoryStream();
    table.WriteXmlSchema(xmlStream);

    // Rewind the memory stream.
    xmlStream.Position = 0;

    DataTable newTable = new DataTable();
    System.Xml.XmlTextReader reader = 
        new System.Xml.XmlTextReader(xmlStream);
    newTable.ReadXmlSchema(reader);

    // Print out values in the table.
    PrintSchema(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

    // Add ten rows.
    DataRow row;
    for (int i = 0; i <= 9; i++)
    {
        row = table.NewRow();
        row["item"] = "item " + i;
        table.Rows.Add(row);
    }

    table.AcceptChanges();
    return table;
}

private static void PrintSchema(DataTable table, string label)
{
    // Display the schema of the supplied DataTable:
    Console.WriteLine(label);
    foreach (DataColumn column in table.Columns)
    {
        Console.WriteLine("\t{0}: {1}", column.ColumnName, 
            column.DataType.Name);
    }
    Console.WriteLine();
}
Private Sub DemonstrateReadWriteXMLSchemaWithReader()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintSchema(table, "Original table")

  ' Write the schema to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXmlSchema(xmlStream)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim newTable As New DataTable
  Dim reader As New System.Xml.XmlTextReader(xmlStream)
  newTable.ReadXmlSchema(reader)

  ' Print out values in the table.
  PrintSchema(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
      As DataTable
  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintSchema(ByVal table As DataTable, _
      ByVal label As String)
  ' Display the schema of the supplied DataTable:
  Console.WriteLine(label)
  For Each column As DataColumn In table.Columns
    Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
      column.ColumnName, column.DataType.Name)
  Next column
End Sub

Remarques

Utilisez la ReadXmlSchema méthode pour créer le schéma d’un DataTable.Use the ReadXmlSchema method to create the schema for a DataTable. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Pour écrire un schéma dans un document XML, utilisez la WriteXmlSchema méthode.To write a schema to an XML document, use the WriteXmlSchema method.

Le schéma XML est interprété en fonction de la norme XSD.The XML schema is interpreted according to the XSD standard.

Des données peuvent être endommagées si les types msdata : DataType et XS : type ne correspondent pas.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Aucune exception n’est levée.No exception will be thrown.

La ReadXmlSchema méthode est généralement appelée avant d’appeler la ReadXml méthode utilisée pour remplir le DataTable.The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Notes

La façon de créer une relation imbriquée à l’aide d’un schéma XML consiste à avoir des éléments imbriqués implicites.The way to create a nested relation using XML schema is to have implicit nested elements. En outre, la relation imbriquée peut être de nouveau câblée pour utiliser des noms de colonnes explicites.Additionally, the nested relation could be re-wired, to use explicit column names. Il est obligatoire que les éléments soient implicitement imbriqués pour que les DataTables correspondants participent à une relation imbriquée.It is mandatory for elements to be implicitly nested for the corresponding DataTables to participate in a nested relation.

Voir aussi

ReadXmlSchema(String) ReadXmlSchema(String) ReadXmlSchema(String) ReadXmlSchema(String)

Lit un schéma XML dans le DataTable à partir du fichier spécifié.Reads an XML schema into the DataTable from the specified file.

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

Paramètres

fileName
String String String String

Nom du fichier à partir duquel lire les informations de schéma.The name of the file from which to read the schema information.

Exemples

L’application console suivante crée un nouveau DataTableet écrit le schéma pour cette table dans un fichier.The following console application creates a new DataTable, and writes the schema for that table to a file. Ensuite, l’exemple crée un nouveau DataTable et lit son schéma à partir du schéma XML enregistré, en utilisant le fichier comme source.Then, the example creates a new DataTable and reads its schema from the saved XML schema, using the file as its source.

private static void DemonstrateReadWriteXMLSchemaWithFile()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintSchema(table, "Original table");

    // Write the schema to XML in a file.
    string xmlFile = "C:\\SchemaDemo.xml";
    table.WriteXmlSchema(xmlFile);

    DataTable newTable = new DataTable();
    newTable.ReadXmlSchema(xmlFile);

    // Print out values in the table.
    PrintSchema(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

    // Add ten rows.
    DataRow row;
    for (int i = 0; i <= 9; i++)
    {
        row = table.NewRow();
        row["item"] = "item " + i;
        table.Rows.Add(row);
    }

    table.AcceptChanges();
    return table;
}

private static void PrintSchema(DataTable table, string label)
{
    // Display the schema of the supplied DataTable:
    Console.WriteLine(label);
    foreach (DataColumn column in table.Columns)
    {
        Console.WriteLine("\t{0}: {1}", column.ColumnName, 
            column.DataType.Name);
    }
    Console.WriteLine();
}
Private Sub DemonstrateReadWriteXMLSchemaWithFile()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintSchema(table, "Original table")

  Dim xmlFile As String = "SchemaDemo.xml"

  ' Write the schema to XML.
  table.WriteXmlSchema(xmlFile)

  Dim newTable As New DataTable
  newTable.ReadXmlSchema(xmlFile)

  ' Print out values in the table.
  PrintSchema(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
      As DataTable
  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintSchema(ByVal table As DataTable, _
      ByVal label As String)
  ' Display the schema of the supplied DataTable:
  Console.WriteLine(label)
  For Each column As DataColumn In table.Columns
    Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
      column.ColumnName, column.DataType.Name)
  Next column
End Sub

Remarques

Utilisez la ReadXmlSchema méthode pour créer le schéma d’un DataTable.Use the ReadXmlSchema method to create the schema for a DataTable. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Pour écrire un schéma dans un document XML, utilisez la WriteXmlSchema méthode.To write a schema to an XML document, use the WriteXmlSchema method.

Le schéma XML est interprété en fonction de la norme XSD.The XML schema is interpreted according to the XSD standard.

Des données peuvent être endommagées si les types msdata : DataType et XS : type ne correspondent pas.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Aucune exception n’est levée.No exception will be thrown.

La ReadXmlSchema méthode est généralement appelée avant d’appeler la ReadXml méthode utilisée pour remplir le DataTable.The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Pour créer une relation imbriquée à l’aide d’un schéma XML, utilisez des éléments imbriqués implicites.To create a nested relation using XML schema, use implicit nested elements. Vous pouvez également reconfigurer la relation imbriquée pour utiliser des noms de colonnes explicites.You can also reconfigure the nested relation to use explicit column names. Les éléments doivent être implicitement imbriqués pour que les DataTables correspondants participent à une relation imbriquée.Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

Voir aussi

ReadXmlSchema(TextReader) ReadXmlSchema(TextReader) ReadXmlSchema(TextReader) ReadXmlSchema(TextReader)

Lit un schéma XML dans le DataTable à l'aide du TextReader spécifié.Reads an XML schema into the DataTable using the specified TextReader.

public:
 void ReadXmlSchema(System::IO::TextReader ^ reader);
public void ReadXmlSchema (System.IO.TextReader reader);
member this.ReadXmlSchema : System.IO.TextReader -> unit
Public Sub ReadXmlSchema (reader As TextReader)

Paramètres

reader
TextReader TextReader TextReader TextReader

TextReader utilisé pour lire les informations de schéma.The TextReader used to read the schema information.

Exemples

L’application console suivante crée un nouveau DataTableet écrit le schéma pour cette table dans un. MemoryStreamThe following console application creates a new DataTable, and writes the schema for that table to a MemoryStream. Ensuite, l’exemple crée un nouveau DataTable et lit son schéma à partir du schéma XML enregistré, à StreamReader l’aide d’un ( TextReaderqui hérite de) comme source.Then, the example creates a new DataTable and reads its schema from the saved XML schema, using a StreamReader (which inherits from TextReader) as its source.

private static void DemonstrateReadWriteXMLSchemaWithReader()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintSchema(table, "Original table");

    // Write the schema to XML in a memory stream.
    System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
    table.WriteXmlSchema(xmlStream);

    // Rewind the memory stream.
    xmlStream.Position = 0;

    DataTable newTable = new DataTable();
    System.IO.StreamReader reader = 
        new System.IO.StreamReader(xmlStream);
    newTable.ReadXmlSchema(reader);

    // Print out values in the table.
    PrintSchema(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

    // Add ten rows.
    DataRow row;
    for (int i = 0; i <= 9; i++)
    {
        row = table.NewRow();
        row["item"] = "item " + i;
        table.Rows.Add(row);
    }

    table.AcceptChanges();
    return table;
}

private static void PrintSchema(DataTable table, string label)
{
    // Display the schema of the supplied DataTable:
    Console.WriteLine(label);
    foreach (DataColumn column in table.Columns)
    {
        Console.WriteLine("\t{0}: {1}", 
            column.ColumnName, column.DataType.Name);
    }
    Console.WriteLine();
}
Private Sub DemonstrateReadWriteXMLSchemaWithReader()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintSchema(table, "Original table")

  ' Write the schema to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXmlSchema(xmlStream)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim newTable As New DataTable
  Dim reader As New System.IO.StreamReader(xmlStream)
  newTable.ReadXmlSchema(reader)

  ' Print out values in the table.
  PrintSchema(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
  As DataTable

  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintSchema(ByVal table As DataTable, _
  ByVal label As String)

  ' Display the schema of the supplied DataTable:
  Console.WriteLine(label)
  For Each column As DataColumn In table.Columns
    Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
      column.ColumnName, column.DataType.Name)
  Next column
End Sub

Remarques

Utilisez la ReadXmlSchema méthode pour créer le schéma d’un DataTable.Use the ReadXmlSchema method to create the schema for a DataTable. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Pour écrire un schéma dans un document XML, utilisez la WriteXmlSchema méthode.To write a schema to an XML document, use the WriteXmlSchema method.

Le schéma XML est interprété en fonction de la norme XSD.The XML schema is interpreted according to the XSD standard.

Des données peuvent être endommagées si les types msdata : DataType et XS : type ne correspondent pas.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Aucune exception n’est levée.No exception will be thrown.

La ReadXmlSchema méthode est généralement appelée avant d’appeler la ReadXml méthode utilisée pour remplir le DataTable.The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Pour créer une relation imbriquée à l’aide d’un schéma XML, utilisez des éléments imbriqués implicites.To create a nested relation using XML schema, use implicit nested elements. Vous pouvez également reconfigurer la relation imbriquée pour utiliser des noms de colonnes explicites.You can also reconfigure the nested relation to use explicit column names. Les éléments doivent être implicitement imbriqués pour que les DataTables correspondants participent à une relation imbriquée.Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

Voir aussi

ReadXmlSchema(Stream) ReadXmlSchema(Stream) ReadXmlSchema(Stream)

Lit un schéma XML dans le DataTable à l'aide du flux de données spécifié.Reads an XML schema into the DataTable using the specified stream.

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

Paramètres

stream
Stream Stream Stream Stream

Flux de données utilisé pour lire le schéma.The stream used to read the schema.

Exemples

L’application console suivante crée un nouveau DataTableet écrit le schéma pour cette table dans un. MemoryStreamThe following console application creates a new DataTable, and writes the schema for that table to a MemoryStream. Ensuite, l’exemple crée un nouveau DataTable et lit son schéma à partir du schéma XML enregistré.Then, the example creates a new DataTable and reads its schema from the saved XML schema.

private static void DemonstrateReadWriteXMLSchemaWithStream()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintSchema(table, "Original table");

    // Write the schema to XML in a memory stream.
    System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
    table.WriteXmlSchema(xmlStream);

    // Rewind the memory stream.
    xmlStream.Position = 0;

    DataTable newTable = new DataTable();
    newTable.ReadXmlSchema(xmlStream);

    // Print out values in the table.
    PrintSchema(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

    // Add ten rows.
    DataRow row;
    for (int i = 0; i <= 9; i++)
    {
        row = table.NewRow();
        row["item"] = "item " + i;
        table.Rows.Add(row);
    }

    table.AcceptChanges();
    return table;
}

private static void PrintSchema(DataTable table, string label)
{
    // Display the schema of the supplied DataTable:
    Console.WriteLine(label);
    foreach (DataColumn column in table.Columns)
    {
        Console.WriteLine("\t{0}: {1}", column.ColumnName, 
            column.DataType.Name);
    }
    Console.WriteLine();
}
Private Sub DemonstrateReadWriteXMLSchemaWithStream()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintSchema(table, "Original table")

  ' Write the schema to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXmlSchema(xmlStream)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim newTable As New DataTable
  newTable.ReadXmlSchema(xmlStream)

  ' Print out values in the table.
  PrintSchema(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
  As DataTable

  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintSchema(ByVal table As DataTable, _
  ByVal label As String)

  ' Display the schema of the supplied DataTable:
  Console.WriteLine(label)
  For Each column As DataColumn In table.Columns
    Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
      column.ColumnName, column.DataType.Name)
  Next column
End Sub

Remarques

Utilisez la ReadXmlSchema méthode pour créer le schéma d’un DataTable.Use the ReadXmlSchema method to create the schema for a DataTable. Le schéma comprend des définitions de tables, de relations et de contraintes.The schema includes table, relation, and constraint definitions.

Pour écrire un schéma dans un document XML, utilisez la WriteXmlSchema méthode.To write a schema to an XML document, use the WriteXmlSchema method.

Le schéma XML est interprété en fonction de la norme XSD.The XML schema is interpreted according to the XSD standard.

Des données peuvent être endommagées si les types msdata : DataType et XS : type ne correspondent pas.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Aucune exception n’est levée.No exception will be thrown.

La ReadXmlSchema méthode est généralement appelée avant d’appeler la ReadXml méthode utilisée pour remplir le DataTable.The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Pour créer une relation imbriquée à l’aide d’un schéma XML, utilisez des éléments imbriqués implicites.To create a nested relation using XML schema, use implicit nested elements. Vous pouvez également configurer la relation imbriquée pour utiliser des noms de colonnes explicites.You can also configure the nested relation to use explicit column names. Les éléments doivent être implicitement imbriqués pour que les DataTables correspondants participent à une relation imbriquée.Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

Voir aussi

S’applique à