Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo DataTable.ReadXmlSchema (Stream)

 

Data di pubblicazione: novembre 2016

Legge un XML schema nel DataTable utilizzando il flusso specificato.

Spazio dei nomi:   System.Data
Assembly:  System.Data (in System.Data.dll)

public void ReadXmlSchema(
	Stream stream
)

Parametri

stream
Type: System.IO.Stream

Il flusso usato per leggere lo schema.

Utilizzare il ReadXmlSchema metodo per creare lo schema per un DataTable. Lo schema include le definizioni di tabelle, relazioni e vincoli.

Per scrivere uno schema di un documento XML, utilizzare il WriteXmlSchema metodo.

Lo schema XML viene interpretato secondo lo standard XSD.

Il danneggiamento dei dati può verificarsi se il DataType e i tipi xs: Type non corrispondono. Verrà generata alcuna eccezione.

Il ReadXmlSchema metodo in genere viene richiamato prima di richiamare il ReadXml metodo utilizzato per riempire la DataTable.

Per creare una relazione annidata utilizzando lo schema XML, utilizzare elementi nidificati impliciti. È inoltre possibile configurare la relazione nidificata per l'utilizzo di nomi di colonna espliciti. Gli elementi devono essere nidificati in modo implicito in modo che il DataTable corrispondente in una relazione nidificata.

La seguente applicazione console crea un nuovo DataTable, e scrive lo schema per la tabella a un MemoryStream. Quindi, nell'esempio viene creato un nuovo DataTable e viene letto lo schema dallo schema XML salvato.

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();
}

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: