Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

DataTable.ReadXmlSchema, méthode (XmlReader)

Lit un schéma XML dans le DataTable à l'aide du XmlReader spécifié.

Espace de noms :  System.Data
Assembly :  System.Data (dans System.Data.dll)
public void ReadXmlSchema(
	XmlReader reader
)

Paramètres

reader
Type : System.Xml.XmlReader
XmlReader utilisé pour lire les informations de schéma.

Utilisez la méthode ReadXmlSchema pour créer le schéma de DataTable. Le schéma comprend des définitions de tables, de relations et de contraintes.

Pour écrire un schéma dans un document XML, utilisez la méthode WriteXmlSchema.

Le schéma XML est interprété en fonction de la norme XSD.

Des données peuvent être endommagées si les types msdata:DataType et xs:type ne correspondent pas. Aucune exception ne sera levée.

La méthode ReadXmlSchema est généralement appelée avant la méthode ReadXml qui est utilisée pour remplir DataTable.

RemarqueRemarque

Pour créer une relation imbriquée à l'aide d'un schéma XML, il faut avoir des éléments imbriqués implicites. En outre, la relation imbriquée peut être à nouveau reconnectée, afin d'utiliser des noms de colonnes explicites. Les éléments doivent obligatoirement être imbriqués de façon implicite pour que les DataTables correspondant participent à une relation imbriquée.

L'application console suivante crée un nouveau DataTable et écrit le schéma pour cette table dans un MemoryStream. Ensuite, l'exemple crée un nouveau DataTable et lit son schéma à partir du schéma XML enregistré, à l'aide d'un XmlTextReader (lequel hérite de XmlReader) comme 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();
}


.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.