Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Método DataTable.ReadXmlSchema (XmlReader)

 
System_CAPS_noteObservação

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Lê um esquema XML para a DataTable usando o XmlReader especificado.

Namespace:   System.Data
Assembly:  System.Data (em System.Data.dll)

public void ReadXmlSchema(
	XmlReader reader
)

Parâmetros

reader
Type: System.Xml.XmlReader

O XmlReader usado para ler as informações de esquema.

Use o método ReadXmlSchema para criar o esquema de um DataTable. O esquema inclui tabela, relação e definições de restrição.

Para gravar um esquema em um documento XML, use o método WriteXmlSchema.

O esquema XML é interpretado de acordo com o padrão XSD.

A corrupção de dados poderá ocorrer se os tipos msdata:DataType e xs:type não coincidirem. Nenhuma exceção será gerada.

O método ReadXmlSchema é invocado geralmente antes de invocar o método ReadXml usado para preencher o DataTable.

System_CAPS_noteObservação

A maneira de criar uma relação aninhada usando o esquema XML é ter elementos aninhados implícita. Além disso, a relação aninhada pode ser novamente com fio, use nomes de coluna explícita. É obrigatório para os elementos sejam implicitamente aninhadas para as tabelas de dados correspondentes participar de uma relação aninhada.

O aplicativo de console a seguir cria um novo DataTablee grava o esquema de tabela para um MemoryStream. Em seguida, o exemplo cria um novo DataTable e lê seu esquema do esquema XML salvo, usando um XmlTextReader (que herda de XmlReader) como sua fonte.

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
Disponível desde 2.0
Retornar ao início
Mostrar: