DataTable.ReadXmlSchema Yöntem

Tanım

içine bir XML şeması okur DataTable.

Aşırı Yüklemeler

ReadXmlSchema(XmlReader)

Belirtilen XmlReaderkullanarak içine bir XML şeması DataTable okur.

ReadXmlSchema(String)

Belirtilen dosyadan içine DataTable bir XML şeması okur.

ReadXmlSchema(TextReader)

Belirtilen TextReaderkullanarak içine bir XML şeması DataTable okur.

ReadXmlSchema(Stream)

Belirtilen akışı kullanarak içine bir XML şeması DataTable okur.

Açıklamalar

ReadXmlSchema yöntemini kullanarak bir DataTableiçin şema oluşturun. Şemada, tablo, ilişki ve kısıtlama tanımları vardır.

Xml belgesine şema yazmak için yöntemini kullanın WriteXmlSchema .

XML şeması XSD standardına göre yorumlanır.

ReadXmlSchema yöntemi genellikle dosyasını doldurmak için kullanılan yöntemi çağrılmadan ReadXml önce çağrılırDataTable.

ReadXmlSchema(XmlReader)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

Belirtilen XmlReaderkullanarak içine bir XML şeması DataTable okur.

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)

Parametreler

reader
XmlReader

Şema XmlReader bilgilerini okumak için kullanılır.

Örnekler

Aşağıdaki konsol uygulaması yeni DataTablebir oluşturur ve bu tablonun şemasını öğesine MemoryStreamyazar. Ardından, örnek yeni DataTable bir oluşturur ve kaynak olarak bir XmlTextReader (öğesinden devralan) kullanarak kaydedilen XML şemasından XmlReaderşemasını okur.

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

Açıklamalar

ReadXmlSchema yöntemini kullanarak bir DataTableiçin şema oluşturun. Şemada, tablo, ilişki ve kısıtlama tanımları vardır.

Xml belgesine şema yazmak için yöntemini kullanın WriteXmlSchema .

XML şeması XSD standardına göre yorumlanır.

msdata:DataType ve xs:type türleri eşleşmiyorsa veri bozulması oluşabilir. Hiçbir özel durum oluşturulmaz.

ReadXmlSchema yöntemi genellikle dosyasını doldurmak için kullanılan yöntemi çağrılmadan ReadXml önce çağrılırDataTable.

Not

XML şemasını kullanarak iç içe ilişki oluşturmanın yolu örtük iç içe öğelere sahip olmaktır. Buna ek olarak, iç içe ilişki açık sütun adlarını kullanmak için yeniden kablolu olabilir. İlgili DataTable'ların iç içe bir ilişkiye katılması için öğelerin örtük olarak iç içe yerleştirilmiş olması zorunludur.

Ayrıca bkz.

Şunlara uygulanır

ReadXmlSchema(String)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

Belirtilen dosyadan içine DataTable bir XML şeması okur.

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

Parametreler

fileName
String

Şema bilgilerinin okunduğu dosyanın adı.

Örnekler

Aşağıdaki konsol uygulaması yeni DataTablebir oluşturur ve bu tablonun şemasını bir dosyaya yazar. Ardından, örnek yeni DataTable bir oluşturur ve dosyayı kaynağı olarak kullanarak kaydedilen XML şemasından şemasını okur.

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

Açıklamalar

ReadXmlSchema yöntemini kullanarak bir DataTableiçin şema oluşturun. Şemada, tablo, ilişki ve kısıtlama tanımları vardır.

Xml belgesine şema yazmak için yöntemini kullanın WriteXmlSchema .

XML şeması XSD standardına göre yorumlanır.

msdata:DataType ve xs:type türleri eşleşmiyorsa veri bozulması oluşabilir. Hiçbir özel durum oluşturulmaz.

ReadXmlSchema yöntemi genellikle dosyasını doldurmak için kullanılan yöntemi çağrılmadan ReadXml önce çağrılırDataTable.

XML şemasını kullanarak iç içe ilişki oluşturmak için örtük iç içe öğeler kullanın. Ayrıca iç içe geçmiş ilişkiyi açık sütun adlarını kullanacak şekilde yeniden yapılandırabilirsiniz. İlgili DataTable'ların iç içe bir ilişkide yer alması için öğelerin örtük olarak iç içe yerleştirilmiş olması gerekir.

Ayrıca bkz.

Şunlara uygulanır

ReadXmlSchema(TextReader)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

Belirtilen TextReaderkullanarak içine bir XML şeması DataTable okur.

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)

Parametreler

reader
TextReader

Şema TextReader bilgilerini okumak için kullanılır.

Örnekler

Aşağıdaki konsol uygulaması yeni DataTablebir oluşturur ve bu tablonun şemasını öğesine MemoryStreamyazar. Ardından, örnek yeni DataTable bir oluşturur ve kaynak olarak bir StreamReader (öğesinden devralan) kullanarak kaydedilen XML şemasından TextReaderşemasını okur.

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

Açıklamalar

ReadXmlSchema yöntemini kullanarak bir DataTableiçin şema oluşturun. Şemada, tablo, ilişki ve kısıtlama tanımları vardır.

Xml belgesine şema yazmak için yöntemini kullanın WriteXmlSchema .

XML şeması XSD standardına göre yorumlanır.

msdata:DataType ve xs:type türleri eşleşmiyorsa veri bozulması oluşabilir. Hiçbir özel durum oluşturulmaz.

ReadXmlSchema yöntemi genellikle dosyasını doldurmak için kullanılan yöntemi çağrılmadan ReadXml önce çağrılırDataTable.

XML şemasını kullanarak iç içe ilişki oluşturmak için örtük iç içe öğeler kullanın. Ayrıca iç içe geçmiş ilişkiyi açık sütun adlarını kullanacak şekilde yeniden yapılandırabilirsiniz. İlgili DataTable'ların iç içe bir ilişkide yer alması için öğelerin örtük olarak iç içe yerleştirilmiş olması gerekir.

Ayrıca bkz.

Şunlara uygulanır

ReadXmlSchema(Stream)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

Belirtilen akışı kullanarak içine bir XML şeması DataTable okur.

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)

Parametreler

stream
Stream

Şemayı okumak için kullanılan akış.

Örnekler

Aşağıdaki konsol uygulaması yeni DataTablebir oluşturur ve bu tablonun şemasını öğesine MemoryStreamyazar. Ardından, örnek yeni DataTable bir oluşturur ve kaydedilen XML şemasından şemasını okur.

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

Açıklamalar

ReadXmlSchema yöntemini kullanarak bir DataTableiçin şema oluşturun. Şemada, tablo, ilişki ve kısıtlama tanımları vardır.

Xml belgesine şema yazmak için yöntemini kullanın WriteXmlSchema .

XML şeması XSD standardına göre yorumlanır.

msdata:DataType ve xs:type türleri eşleşmiyorsa veri bozulması oluşabilir. Hiçbir özel durum oluşturulmaz.

ReadXmlSchema yöntemi genellikle dosyasını doldurmak için kullanılan yöntemi çağrılmadan ReadXml önce çağrılırDataTable.

XML şemasını kullanarak iç içe ilişki oluşturmak için örtük iç içe öğeler kullanın. İç içe ilişkiyi açık sütun adlarını kullanacak şekilde de yapılandırabilirsiniz. İlgili DataTable'ların iç içe bir ilişkide yer alması için öğelerin örtük olarak iç içe yerleştirilmiş olması gerekir.

Ayrıca bkz.

Şunlara uygulanır