Поделиться через


DataTable.ReadXmlSchema Метод

Определение

Считывает схему XML в таблицу DataTable.

Перегрузки

ReadXmlSchema(XmlReader)

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

ReadXmlSchema(String)

Считывает XML-схему из указанного файла в таблицу DataTable.

ReadXmlSchema(TextReader)

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

ReadXmlSchema(Stream)

Считывает XML-схему в DataTable, используя указанный поток.

Комментарии

Используйте метод , ReadXmlSchema чтобы создать схему для DataTable. Схема включает определения таблиц, отношений и ограничений.

Чтобы записать схему в XML-документ, используйте WriteXmlSchema метод .

Схема XML интерпретируется в соответствии со стандартом XSD.

Метод ReadXmlSchema обычно вызывается перед вызовом ReadXml метода , который используется для заполнения DataTable.

ReadXmlSchema(XmlReader)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

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

public:
 void ReadXmlSchema(System::Xml::XmlReader ^ reader);
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, используемое для чтения сведений схемы.

Примеры

Следующее консольное приложение создает новый DataTableобъект и записывает схему для этой таблицы в MemoryStream. Затем в примере создается новый DataTable объект и считывается его схема из сохраненной XML-схемы, используя XmlTextReader в качестве источника (который наследуется от XmlReader).

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. Схема включает определения таблиц, отношений и ограничений.

Чтобы записать схему в XML-документ, используйте WriteXmlSchema метод .

Схема XML интерпретируется в соответствии со стандартом XSD.

Повреждение данных может произойти, если типы msdata:DataType и xs:type не совпадают. Исключение не будет создано.

Метод ReadXmlSchema обычно вызывается перед вызовом ReadXml метода , который используется для заполнения DataTable.

Примечание

Чтобы создать вложенное отношение с помощью схемы XML, необходимо иметь неявные вложенные элементы. Кроме того, вложенное отношение можно повторно подключить для использования явных имен столбцов. Элементы должны быть неявно вложенными, чтобы соответствующие данные DataTable участвовали во вложенной связи.

См. также раздел

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

ReadXmlSchema(String)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Считывает XML-схему из указанного файла в таблицу DataTable.

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

Параметры

fileName
String

Имя файла, из которого считываются сведения схемы.

Примеры

Следующее консольное приложение создает новый DataTableобъект и записывает схему для этой таблицы в файл. Затем в примере создается новый DataTable объект и считывается его схема из сохраненной XML-схемы, используя файл в качестве источника.

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. Схема включает определения таблиц, отношений и ограничений.

Чтобы записать схему в XML-документ, используйте WriteXmlSchema метод .

Схема XML интерпретируется в соответствии со стандартом XSD.

Повреждение данных может произойти, если типы msdata:DataType и xs:type не совпадают. Исключение не будет создано.

Метод ReadXmlSchema обычно вызывается перед вызовом ReadXml метода , который используется для заполнения DataTable.

Чтобы создать вложенное отношение с помощью схемы XML, используйте неявные вложенные элементы. Вы также можете перенастроить вложенную связь, чтобы использовать явные имена столбцов. Элементы должны быть неявно вложенными, чтобы соответствующие данные DataTable участвовали во вложенной связи.

См. также раздел

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

ReadXmlSchema(TextReader)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

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

public:
 void ReadXmlSchema(System::IO::TextReader ^ reader);
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, используемое для чтения сведений схемы.

Примеры

Следующее консольное приложение создает новый DataTableобъект и записывает схему для этой таблицы в MemoryStream. Затем в примере создается новый DataTable объект и считывается его схема из сохраненной XML-схемы, используя StreamReader в качестве источника (который наследуется от TextReader).

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. Схема включает определения таблиц, отношений и ограничений.

Чтобы записать схему в XML-документ, используйте WriteXmlSchema метод .

Схема XML интерпретируется в соответствии со стандартом XSD.

Повреждение данных может произойти, если типы msdata:DataType и xs:type не совпадают. Исключение не будет создано.

Метод ReadXmlSchema обычно вызывается перед вызовом ReadXml метода , который используется для заполнения DataTable.

Чтобы создать вложенное отношение с помощью схемы XML, используйте неявные вложенные элементы. Вы также можете перенастроить вложенную связь, чтобы использовать явные имена столбцов. Элементы должны быть неявно вложенными, чтобы соответствующие данные DataTable участвовали во вложенной связи.

См. также раздел

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

ReadXmlSchema(Stream)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Считывает XML-схему в DataTable, используя указанный поток.

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

Параметры

stream
Stream

Поток, используемый для чтения схемы.

Примеры

Следующее консольное приложение создает новый DataTableобъект и записывает схему для этой таблицы в MemoryStream. Затем в примере создается новый DataTable объект и считывается его схема из сохраненной XML-схемы.

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. Схема включает определения таблиц, отношений и ограничений.

Чтобы записать схему в XML-документ, используйте WriteXmlSchema метод .

Схема XML интерпретируется в соответствии со стандартом XSD.

Повреждение данных может произойти, если типы msdata:DataType и xs:type не совпадают. Исключение не будет создано.

Метод ReadXmlSchema обычно вызывается перед вызовом ReadXml метода , который используется для заполнения DataTable.

Чтобы создать вложенное отношение с помощью схемы XML, используйте неявные вложенные элементы. Вы также можете настроить вложенную связь для использования явных имен столбцов. Элементы должны быть неявно вложенными, чтобы соответствующие данные DataTable участвовали во вложенной связи.

См. также раздел

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