Leer en inglés

Compartir a través de


DataTable.ReadXmlSchema Método

Definición

Lee un esquema XML en el objeto DataTable.

Sobrecargas

ReadXmlSchema(XmlReader)

Lee un esquema XML en el objeto DataTable utilizando el objeto XmlReader especificado.

ReadXmlSchema(String)

Lee un esquema XML en el objeto DataTable desde el archivo especificado.

ReadXmlSchema(TextReader)

Lee un esquema XML en el objeto DataTable utilizando el objeto TextReader especificado.

ReadXmlSchema(Stream)

Lee un esquema XML en el objeto DataTable utilizando la secuencia especificada.

Comentarios

Use el ReadXmlSchema método para crear el esquema de .DataTable El esquema incluye definiciones de tabla, relación y restricción.

Para escribir un esquema en un documento XML, use el WriteXmlSchema método .

El esquema XML se interpreta según el estándar XSD.

Por ReadXmlSchema lo general, se invoca el método antes de invocar el ReadXml método que se usa para rellenar .DataTable

ReadXmlSchema(XmlReader)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Lee un esquema XML en el objeto DataTable utilizando el objeto XmlReader especificado.

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

Parámetros

reader
XmlReader

Objeto XmlReader que se utiliza para leer la información del esquema.

Ejemplos

La siguiente aplicación de consola crea un nuevo DataTabley escribe el esquema de esa tabla en .MemoryStream A continuación, en el ejemplo se crea un nuevo DataTable y se lee su esquema del esquema XML guardado, utilizando un XmlTextReader (que hereda de XmlReader) como origen.

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

Comentarios

Use el ReadXmlSchema método para crear el esquema de .DataTable El esquema incluye definiciones de tabla, relación y restricción.

Para escribir un esquema en un documento XML, use el WriteXmlSchema método .

El esquema XML se interpreta según el estándar XSD.

Los datos dañados pueden producirse si los tipos msdata:DataType y xs:type no coinciden. No se producirá ninguna excepción.

Por ReadXmlSchema lo general, se invoca el método antes de invocar el ReadXml método que se usa para rellenar .DataTable

Nota

La forma de crear una relación anidada mediante el esquema XML es tener elementos anidados implícitos. Además, la relación anidada se podría volver a conectar para usar nombres de columna explícitos. Es obligatorio que los elementos se anidarán implícitamente para que las DataTables correspondientes participen en una relación anidada.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Lee un esquema XML en el objeto DataTable desde el archivo especificado.

C#
public void ReadXmlSchema (string fileName);

Parámetros

fileName
String

Nombre del archivo del que se va a leer la información de esquema.

Ejemplos

La siguiente aplicación de consola crea un nuevo DataTabley escribe el esquema de esa tabla en un archivo. A continuación, en el ejemplo se crea un nuevo DataTable y se lee su esquema del esquema XML guardado, utilizando el archivo como origen.

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

Comentarios

Use el ReadXmlSchema método para crear el esquema de .DataTable El esquema incluye definiciones de tabla, relación y restricción.

Para escribir un esquema en un documento XML, use el WriteXmlSchema método .

El esquema XML se interpreta según el estándar XSD.

Los datos dañados pueden producirse si los tipos msdata:DataType y xs:type no coinciden. No se producirá ninguna excepción.

Por ReadXmlSchema lo general, se invoca el método antes de invocar el ReadXml método que se usa para rellenar .DataTable

Para crear una relación anidada mediante el esquema XML, use elementos anidados implícitos. También puede volver a configurar la relación anidada para usar nombres de columna explícitos. Los elementos deben anidarse implícitamente para que las DataTables correspondientes participen en una relación anidada.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Lee un esquema XML en el objeto DataTable utilizando el objeto TextReader especificado.

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

Parámetros

reader
TextReader

Objeto TextReader que se utiliza para leer la información del esquema.

Ejemplos

La siguiente aplicación de consola crea un nuevo DataTabley escribe el esquema de esa tabla en .MemoryStream A continuación, en el ejemplo se crea un nuevo DataTable y se lee su esquema del esquema XML guardado, utilizando un StreamReader (que hereda de TextReader) como origen.

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

Comentarios

Use el ReadXmlSchema método para crear el esquema de .DataTable El esquema incluye definiciones de tabla, relación y restricción.

Para escribir un esquema en un documento XML, use el WriteXmlSchema método .

El esquema XML se interpreta según el estándar XSD.

Los datos dañados pueden producirse si los tipos msdata:DataType y xs:type no coinciden. No se producirá ninguna excepción.

Por ReadXmlSchema lo general, se invoca el método antes de invocar el ReadXml método que se usa para rellenar .DataTable

Para crear una relación anidada mediante el esquema XML, use elementos anidados implícitos. También puede volver a configurar la relación anidada para usar nombres de columna explícitos. Los elementos deben anidarse implícitamente para que las DataTables correspondientes participen en una relación anidada.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Lee un esquema XML en el objeto DataTable utilizando la secuencia especificada.

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

Parámetros

stream
Stream

Secuencia que se utiliza para leer el esquema.

Ejemplos

La siguiente aplicación de consola crea un nuevo DataTabley escribe el esquema de esa tabla en .MemoryStream A continuación, el ejemplo crea un nuevo DataTable y lee su esquema del esquema XML guardado.

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

Comentarios

Use el ReadXmlSchema método para crear el esquema de .DataTable El esquema incluye definiciones de tabla, relación y restricción.

Para escribir un esquema en un documento XML, use el WriteXmlSchema método .

El esquema XML se interpreta según el estándar XSD.

Los datos dañados pueden producirse si los tipos msdata:DataType y xs:type no coinciden. No se producirá ninguna excepción.

Por ReadXmlSchema lo general, se invoca el método antes de invocar el ReadXml método que se usa para rellenar .DataTable

Para crear una relación anidada mediante el esquema XML, use elementos anidados implícitos. También puede configurar la relación anidada para usar nombres de columna explícitos. Los elementos deben anidarse implícitamente para que las DataTables correspondientes participen en una relación anidada.

Consulte también

Se aplica a

.NET 9 y otras versiones
Producto Versiones
.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