DataTable.ReadXmlSchema DataTable.ReadXmlSchema DataTable.ReadXmlSchema DataTable.ReadXmlSchema Method

Определение

Считывает схему XML в таблицу DataTable.Reads an XML schema into the DataTable.

Перегрузки

ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader)

Считывает XML-схему в DataTable, используя указанный объект XmlReader.Reads an XML schema into the DataTable using the specified XmlReader.

ReadXmlSchema(String) ReadXmlSchema(String) ReadXmlSchema(String) ReadXmlSchema(String)

Считывает XML-схему из указанного файла в таблицу DataTable.Reads an XML schema into the DataTable from the specified file.

ReadXmlSchema(TextReader) ReadXmlSchema(TextReader) ReadXmlSchema(TextReader) ReadXmlSchema(TextReader)

Считывает XML-схему в DataTable, используя указанный объект TextReader.Reads an XML schema into the DataTable using the specified TextReader.

ReadXmlSchema(Stream) ReadXmlSchema(Stream) ReadXmlSchema(Stream)

Считывает XML-схему в DataTable, используя указанный поток.Reads an XML schema into the DataTable using the specified stream.

Комментарии

Используйте ReadXmlSchema метод для создания схемы для DataTable.Use the ReadXmlSchema method to create the schema for a DataTable. Эта схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Для записи схемы в XML-документ, используйте WriteXmlSchema метод.To write a schema to an XML document, use the WriteXmlSchema method.

Схема XML интерпретируется согласно стандарту XSD.The XML schema is interpreted according to the XSD standard.

ReadXmlSchema Метод обычно вызывается перед вызовом ReadXml метод, который используется для заполнения DataTable.The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader) ReadXmlSchema(XmlReader)

Считывает XML-схему в DataTable, используя указанный объект XmlReader.Reads an XML schema into the DataTable using the specified XmlReader.

public:
 void ReadXmlSchema(System::Xml::XmlReader ^ reader);
public void ReadXmlSchema (System.Xml.XmlReader reader);
member this.ReadXmlSchema : System.Xml.XmlReader -> unit
Public Sub ReadXmlSchema (reader As XmlReader)

Параметры

reader
XmlReader XmlReader XmlReader XmlReader

Средство чтения XmlReader, используемое для чтения сведений схемы.The XmlReader used to read the schema information.

Примеры

Следующее консольное приложение создает новый DataTableи записывает схему для этой таблицы для MemoryStream.The following console application creates a new DataTable, and writes the schema for that table to a MemoryStream. Затем в примере создается новый DataTable и считывает его схему из сохраненных XML-схема, с помощью XmlTextReader (который наследуется от XmlReader) в качестве источника.Then, the example creates a new DataTable and reads its schema from the saved XML schema, using a XmlTextReader (which inherits from XmlReader) as its 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();
}
Private Sub DemonstrateReadWriteXMLSchemaWithReader()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintSchema(table, "Original table")

  ' Write the schema to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXmlSchema(xmlStream)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim newTable As New DataTable
  Dim reader As New System.Xml.XmlTextReader(xmlStream)
  newTable.ReadXmlSchema(reader)

  ' Print out values in the table.
  PrintSchema(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
      As DataTable
  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintSchema(ByVal table As DataTable, _
      ByVal label As String)
  ' Display the schema of the supplied DataTable:
  Console.WriteLine(label)
  For Each column As DataColumn In table.Columns
    Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
      column.ColumnName, column.DataType.Name)
  Next column
End Sub

Комментарии

Используйте ReadXmlSchema метод для создания схемы для DataTable.Use the ReadXmlSchema method to create the schema for a DataTable. Эта схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Для записи схемы в XML-документ, используйте WriteXmlSchema метод.To write a schema to an XML document, use the WriteXmlSchema method.

Схема XML интерпретируется согласно стандарту XSD.The XML schema is interpreted according to the XSD standard.

Если msdata:DataType и типы xs: Type не совпадают, это может привести к повреждению данных.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Исключение не возникает.No exception will be thrown.

ReadXmlSchema Метод обычно вызывается перед вызовом ReadXml метод, который используется для заполнения DataTable.The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Примечание

Способ создания вложенного отношения с помощью XML-схемы — имеют неявные вложенные элементы.The way to create a nested relation using XML schema is to have implicit nested elements. Кроме того вложенное отношение может быть переопределено для использования явных имен столбцов.Additionally, the nested relation could be re-wired, to use explicit column names. Это обязательный параметр для элементов, чтобы быть неявно вложенными для соответствующего DataTables участвовать в вложенное отношение.It is mandatory for elements to be implicitly nested for the corresponding DataTables to participate in a nested relation.

Дополнительно

ReadXmlSchema(String) ReadXmlSchema(String) ReadXmlSchema(String) ReadXmlSchema(String)

Считывает XML-схему из указанного файла в таблицу DataTable.Reads an XML schema into the DataTable from the specified file.

public:
 void ReadXmlSchema(System::String ^ fileName);
public void ReadXmlSchema (string fileName);
member this.ReadXmlSchema : string -> unit
Public Sub ReadXmlSchema (fileName As String)

Параметры

fileName
String String String String

Имя файла, из которого считываются сведения схемы.The name of the file from which to read the schema information.

Примеры

Следующее консольное приложение создает новый DataTableи записывает схему для этой таблицы в файл.The following console application creates a new DataTable, and writes the schema for that table to a file. Затем в примере создается новый DataTable и считывает его схему из сохраненных XML-схемы, используя файл в качестве источника.Then, the example creates a new DataTable and reads its schema from the saved XML schema, using the file as its source.

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();
}
Private Sub DemonstrateReadWriteXMLSchemaWithFile()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintSchema(table, "Original table")

  Dim xmlFile As String = "SchemaDemo.xml"

  ' Write the schema to XML.
  table.WriteXmlSchema(xmlFile)

  Dim newTable As New DataTable
  newTable.ReadXmlSchema(xmlFile)

  ' Print out values in the table.
  PrintSchema(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
      As DataTable
  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintSchema(ByVal table As DataTable, _
      ByVal label As String)
  ' Display the schema of the supplied DataTable:
  Console.WriteLine(label)
  For Each column As DataColumn In table.Columns
    Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
      column.ColumnName, column.DataType.Name)
  Next column
End Sub

Комментарии

Используйте ReadXmlSchema метод для создания схемы для DataTable.Use the ReadXmlSchema method to create the schema for a DataTable. Эта схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Для записи схемы в XML-документ, используйте WriteXmlSchema метод.To write a schema to an XML document, use the WriteXmlSchema method.

Схема XML интерпретируется согласно стандарту XSD.The XML schema is interpreted according to the XSD standard.

Если msdata:DataType и типы xs: Type не совпадают, это может привести к повреждению данных.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Исключение не возникает.No exception will be thrown.

ReadXmlSchema Метод обычно вызывается перед вызовом ReadXml метод, который используется для заполнения DataTable.The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Чтобы создать вложенное отношение, с помощью схемы XML, используйте неявные вложенные элементы.To create a nested relation using XML schema, use implicit nested elements. Можно также настроить вложенные связи с использованием явных имен столбцов.You can also reconfigure the nested relation to use explicit column names. Элементы должны быть неявно вложены в порядке для соответствующего DataTables участвовать в вложенное отношение.Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

Дополнительно

ReadXmlSchema(TextReader) ReadXmlSchema(TextReader) ReadXmlSchema(TextReader) ReadXmlSchema(TextReader)

Считывает XML-схему в DataTable, используя указанный объект TextReader.Reads an XML schema into the DataTable using the specified TextReader.

public:
 void ReadXmlSchema(System::IO::TextReader ^ reader);
public void ReadXmlSchema (System.IO.TextReader reader);
member this.ReadXmlSchema : System.IO.TextReader -> unit
Public Sub ReadXmlSchema (reader As TextReader)

Параметры

reader
TextReader TextReader TextReader TextReader

Средство чтения TextReader, используемое для чтения сведений схемы.The TextReader used to read the schema information.

Примеры

Следующее консольное приложение создает новый DataTableи записывает схему для этой таблицы для MemoryStream.The following console application creates a new DataTable, and writes the schema for that table to a MemoryStream. Затем в примере создается новый DataTable и считывает его схему из сохраненных XML-схема, с помощью StreamReader (который наследуется от TextReader) в качестве источника.Then, the example creates a new DataTable and reads its schema from the saved XML schema, using a StreamReader (which inherits from TextReader) as its 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.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();
}
Private Sub DemonstrateReadWriteXMLSchemaWithReader()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintSchema(table, "Original table")

  ' Write the schema to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXmlSchema(xmlStream)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim newTable As New DataTable
  Dim reader As New System.IO.StreamReader(xmlStream)
  newTable.ReadXmlSchema(reader)

  ' Print out values in the table.
  PrintSchema(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
  As DataTable

  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintSchema(ByVal table As DataTable, _
  ByVal label As String)

  ' Display the schema of the supplied DataTable:
  Console.WriteLine(label)
  For Each column As DataColumn In table.Columns
    Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
      column.ColumnName, column.DataType.Name)
  Next column
End Sub

Комментарии

Используйте ReadXmlSchema метод для создания схемы для DataTable.Use the ReadXmlSchema method to create the schema for a DataTable. Эта схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Для записи схемы в XML-документ, используйте WriteXmlSchema метод.To write a schema to an XML document, use the WriteXmlSchema method.

Схема XML интерпретируется согласно стандарту XSD.The XML schema is interpreted according to the XSD standard.

Если msdata:DataType и типы xs: Type не совпадают, это может привести к повреждению данных.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Исключение не возникает.No exception will be thrown.

ReadXmlSchema Метод обычно вызывается перед вызовом ReadXml метод, который используется для заполнения DataTable.The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Чтобы создать вложенное отношение, с помощью схемы XML, используйте неявные вложенные элементы.To create a nested relation using XML schema, use implicit nested elements. Можно также настроить вложенные связи с использованием явных имен столбцов.You can also reconfigure the nested relation to use explicit column names. Элементы должны быть неявно вложены в порядке для соответствующего DataTables участвовать в вложенное отношение.Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

Дополнительно

ReadXmlSchema(Stream) ReadXmlSchema(Stream) ReadXmlSchema(Stream)

Считывает XML-схему в DataTable, используя указанный поток.Reads an XML schema into the DataTable using the specified stream.

public:
 void ReadXmlSchema(System::IO::Stream ^ stream);
public void ReadXmlSchema (System.IO.Stream stream);
member this.ReadXmlSchema : System.IO.Stream -> unit

Параметры

stream
Stream Stream Stream Stream

Поток, используемый для чтения схемы.The stream used to read the schema.

Примеры

Следующее консольное приложение создает новый DataTableи записывает схему для этой таблицы для MemoryStream.The following console application creates a new DataTable, and writes the schema for that table to a MemoryStream. Затем в примере создается новый DataTable и считывает его схему из сохраненных XML-схемы.Then, the example creates a new DataTable and reads its schema from the saved XML schema.

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();
}
Private Sub DemonstrateReadWriteXMLSchemaWithStream()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintSchema(table, "Original table")

  ' Write the schema to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXmlSchema(xmlStream)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim newTable As New DataTable
  newTable.ReadXmlSchema(xmlStream)

  ' Print out values in the table.
  PrintSchema(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
  As DataTable

  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintSchema(ByVal table As DataTable, _
  ByVal label As String)

  ' Display the schema of the supplied DataTable:
  Console.WriteLine(label)
  For Each column As DataColumn In table.Columns
    Console.WriteLine("{0}{1}: {2}", ControlChars.Tab, _
      column.ColumnName, column.DataType.Name)
  Next column
End Sub

Комментарии

Используйте ReadXmlSchema метод для создания схемы для DataTable.Use the ReadXmlSchema method to create the schema for a DataTable. Эта схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Для записи схемы в XML-документ, используйте WriteXmlSchema метод.To write a schema to an XML document, use the WriteXmlSchema method.

Схема XML интерпретируется согласно стандарту XSD.The XML schema is interpreted according to the XSD standard.

Если msdata:DataType и типы xs: Type не совпадают, это может привести к повреждению данных.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Исключение не возникает.No exception will be thrown.

ReadXmlSchema Метод обычно вызывается перед вызовом ReadXml метод, который используется для заполнения DataTable.The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Чтобы создать вложенное отношение, с помощью схемы XML, используйте неявные вложенные элементы.To create a nested relation using XML schema, use implicit nested elements. Можно также настроить вложенные связи с использованием явных имен столбцов.You can also configure the nested relation to use explicit column names. Элементы должны быть неявно вложены в порядке для соответствующего DataTables участвовать в вложенное отношение.Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

Дополнительно

Применяется к