DataTable.ReadXmlSchema メソッド

定義

XML スキーマを DataTable に読み込みます。Reads an XML schema into the DataTable.

オーバーロード

ReadXmlSchema(XmlReader)

指定した DataTable を使用して、XML スキーマを XmlReader に読み込みます。Reads an XML schema into the DataTable using the specified XmlReader.

ReadXmlSchema(String)

指定したファイルから DataTable に XML スキーマを読み込みます。Reads an XML schema into the DataTable from the specified file.

ReadXmlSchema(TextReader)

指定した DataTable を使用して、XML スキーマを TextReader に読み込みます。Reads an XML schema into the DataTable using the specified TextReader.

ReadXmlSchema(Stream)

指定したストリームを使用して、XML スキーマを DataTable に読み込みます。Reads an XML schema into the DataTable using the specified stream.

注釈

のスキーマを作成するには、 ReadXmlSchemaメソッドを使用します。 DataTableUse 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.

メソッドは、通常、 DataTableを埋めるためReadXmlに使用されるメソッドを呼び出す前に呼び出されます。 ReadXmlSchemaThe ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

ReadXmlSchema(XmlReader)

指定した DataTable を使用して、XML スキーマを 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

スキーマ情報を読み込むために使用する XmlReaderThe 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を作成し、ソースとして (を継承XmlReaderする) をXmlTextReader使用して、保存された XML スキーマからそのスキーマを読み取ります。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メソッドを使用します。 DataTableUse 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.

メソッドは、通常、 DataTableを埋めるためReadXmlに使用されるメソッドを呼び出す前に呼び出されます。 ReadXmlSchemaThe 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. 入れ子になったリレーションシップに参加するために、対応する Datatable に対して暗黙的に要素を入れ子にすることは必須です。It is mandatory for elements to be implicitly nested for the corresponding DataTables to participate in a nested relation.

こちらもご覧ください

ReadXmlSchema(String)

指定したファイルから DataTable に XML スキーマを読み込みます。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

スキーマ情報の読み取り元のファイルの名前。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メソッドを使用します。 DataTableUse 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.

メソッドは、通常、 DataTableを埋めるためReadXmlに使用されるメソッドを呼び出す前に呼び出されます。 ReadXmlSchemaThe 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. 対応する Datatable を入れ子になったリレーションシップに含めるには、要素を暗黙的に入れ子にする必要があります。Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

こちらもご覧ください

ReadXmlSchema(TextReader)

指定した DataTable を使用して、XML スキーマを 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

スキーマ情報を読み込むために使用する TextReaderThe 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を作成し、ソースとして (を継承TextReaderする) をStreamReader使用して、保存された XML スキーマからそのスキーマを読み取ります。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メソッドを使用します。 DataTableUse 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.

メソッドは、通常、 DataTableを埋めるためReadXmlに使用されるメソッドを呼び出す前に呼び出されます。 ReadXmlSchemaThe 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. 対応する Datatable を入れ子になったリレーションシップに含めるには、要素を暗黙的に入れ子にする必要があります。Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

こちらもご覧ください

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

スキーマを読み込むために使用するストリーム。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メソッドを使用します。 DataTableUse 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.

メソッドは、通常、 DataTableを埋めるためReadXmlに使用されるメソッドを呼び出す前に呼び出されます。 ReadXmlSchemaThe 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. 対応する Datatable を入れ子になったリレーションシップに含めるには、要素を暗黙的に入れ子にする必要があります。Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

こちらもご覧ください

適用対象