Ler em inglês

Compartilhar via


DataTable.ReadXmlSchema Método

Definição

Lê um esquema XML para o DataTable.

Sobrecargas

ReadXmlSchema(XmlReader)

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

ReadXmlSchema(String)

Lê um esquema XML para a DataTable do arquivo especificado.

ReadXmlSchema(TextReader)

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

ReadXmlSchema(Stream)

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

Comentários

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.

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

ReadXmlSchema(XmlReader)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

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

public void ReadXmlSchema (System.Xml.XmlReader? reader);
public void ReadXmlSchema (System.Xml.XmlReader reader);

Parâmetros

reader
XmlReader

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

Exemplos

O aplicativo de console a seguir cria um novo DataTablee grava o esquema dessa tabela em 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 origem.

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

Comentários

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.

Observação

A maneira de criar uma relação aninhada usando o esquema XML é ter elementos aninhados implícitos. Além disso, a relação aninhada pode ser redirecionada para usar nomes de coluna explícitos. É obrigatório que os elementos sejam implicitamente aninhados para que os DataTables correspondentes participem de uma relação aninhada.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

ReadXmlSchema(String)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

Lê um esquema XML para a DataTable do arquivo especificado.

public void ReadXmlSchema (string fileName);

Parâmetros

fileName
String

O nome do arquivo do qual as informações de esquema devem ser lidas.

Exemplos

O aplicativo de console a seguir cria um novo DataTablee grava o esquema dessa tabela em um arquivo. Em seguida, o exemplo cria um novo DataTable e lê seu esquema do esquema XML salvo, usando o arquivo como sua origem.

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

Comentários

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.

Para criar uma relação aninhada usando o esquema XML, use elementos aninhados implícitos. Você também pode reconfigurar a relação aninhada para usar nomes de coluna explícitos. Os elementos devem ser implicitamente aninhados para que os DataTables correspondentes participem de uma relação aninhada.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

ReadXmlSchema(TextReader)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

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

public void ReadXmlSchema (System.IO.TextReader? reader);
public void ReadXmlSchema (System.IO.TextReader reader);

Parâmetros

reader
TextReader

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

Exemplos

O aplicativo de console a seguir cria um novo DataTablee grava o esquema dessa tabela em um MemoryStream. Em seguida, o exemplo cria um novo DataTable e lê seu esquema do esquema XML salvo, usando um StreamReader (que herda de TextReader) como sua origem.

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

Comentários

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.

Para criar uma relação aninhada usando o esquema XML, use elementos aninhados implícitos. Você também pode reconfigurar a relação aninhada para usar nomes de coluna explícitos. Os elementos devem ser implicitamente aninhados para que os DataTables correspondentes participem de uma relação aninhada.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

ReadXmlSchema(Stream)

Origem:
DataTable.cs
Origem:
DataTable.cs
Origem:
DataTable.cs

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

public void ReadXmlSchema (System.IO.Stream? stream);
public void ReadXmlSchema (System.IO.Stream stream);

Parâmetros

stream
Stream

O fluxo usado para ler o esquema.

Exemplos

O aplicativo de console a seguir cria um novo DataTablee grava o esquema dessa tabela em um MemoryStream. Em seguida, o exemplo cria um novo DataTable e lê seu esquema do esquema XML salvo.

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

Comentários

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.

Para criar uma relação aninhada usando o esquema XML, use elementos aninhados implícitos. Você também pode configurar a relação aninhada para usar nomes de coluna explícitos. Os elementos devem ser implicitamente aninhados para que os DataTables correspondentes participem de uma relação aninhada.

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1