DataTable.ReadXmlSchema Metoda

Definicja

Odczytuje schemat XML do DataTable .Reads an XML schema into the DataTable.

Przeciążenia

ReadXmlSchema(XmlReader)

Odczytuje schemat XML do DataTable użycia określonego XmlReader .Reads an XML schema into the DataTable using the specified XmlReader.

ReadXmlSchema(String)

Odczytuje schemat XML do DataTable określonego pliku.Reads an XML schema into the DataTable from the specified file.

ReadXmlSchema(TextReader)

Odczytuje schemat XML do DataTable użycia określonego TextReader .Reads an XML schema into the DataTable using the specified TextReader.

ReadXmlSchema(Stream)

Odczytuje schemat XML do DataTable przy użyciu określonego strumienia.Reads an XML schema into the DataTable using the specified stream.

Uwagi

Użyj ReadXmlSchema metody, aby utworzyć schemat dla DataTable .Use the ReadXmlSchema method to create the schema for a DataTable. Schemat zawiera definicje tabel, relacji i ograniczeń.The schema includes table, relation, and constraint definitions.

Aby napisać schemat do dokumentu XML, użyj WriteXmlSchema metody.To write a schema to an XML document, use the WriteXmlSchema method.

Schemat XML jest interpretowany zgodnie ze standardem XSD.The XML schema is interpreted according to the XSD standard.

ReadXmlSchemaMetoda jest zazwyczaj wywoływana przed wywołaniem metody, ReadXml która jest używana do wypełniania DataTable .The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

ReadXmlSchema(XmlReader)

Odczytuje schemat XML do DataTable użycia określonego 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);
public void ReadXmlSchema (System.Xml.XmlReader reader);
member this.ReadXmlSchema : System.Xml.XmlReader -> unit
Public Sub ReadXmlSchema (reader As XmlReader)

Parametry

reader
XmlReader

XmlReaderUżywane do odczytywania informacji o schemacie.The XmlReader used to read the schema information.

Przykłady

Następująca aplikacja konsolowa tworzy nowe DataTable i zapisuje schemat dla tej tabeli MemoryStream .The following console application creates a new DataTable, and writes the schema for that table to a MemoryStream. Następnie przykład tworzy nowy DataTable i odczytuje jego schemat z zapisanego schematu XML przy użyciu XmlTextReader (który dziedziczy z XmlReader ) jako źródło.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

Uwagi

Użyj ReadXmlSchema metody, aby utworzyć schemat dla DataTable .Use the ReadXmlSchema method to create the schema for a DataTable. Schemat zawiera definicje tabel, relacji i ograniczeń.The schema includes table, relation, and constraint definitions.

Aby napisać schemat do dokumentu XML, użyj WriteXmlSchema metody.To write a schema to an XML document, use the WriteXmlSchema method.

Schemat XML jest interpretowany zgodnie ze standardem XSD.The XML schema is interpreted according to the XSD standard.

Uszkodzenie danych może wystąpić, jeśli typy msdata: DataType i xs: Type nie pasują do siebie.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Nie zostanie zgłoszony żaden wyjątek.No exception will be thrown.

ReadXmlSchemaMetoda jest zazwyczaj wywoływana przed wywołaniem metody, ReadXml która jest używana do wypełniania DataTable .The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Uwaga

Sposób tworzenia relacji zagnieżdżonej przy użyciu schematu XML ma mieć niejawne elementy zagnieżdżone.The way to create a nested relation using XML schema is to have implicit nested elements. Ponadto zagnieżdżoną relację można zmienić, aby używać jawnych nazw kolumn.Additionally, the nested relation could be re-wired, to use explicit column names. Jest to obowiązkowe dla elementów, które mają być niejawnie zagnieżdżone dla odpowiednich tabel Data, aby można było uczestniczyć w zagnieżdżonej relacji.It is mandatory for elements to be implicitly nested for the corresponding DataTables to participate in a nested relation.

Zobacz też

Dotyczy

ReadXmlSchema(String)

Odczytuje schemat XML do DataTable określonego pliku.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)

Parametry

fileName
String

Nazwa pliku, z którego mają być odczytywane informacje o schemacie.The name of the file from which to read the schema information.

Przykłady

Następująca aplikacja konsolowa tworzy nowe DataTable i zapisuje schemat dla tej tabeli do pliku.The following console application creates a new DataTable, and writes the schema for that table to a file. Następnie przykład tworzy nowy DataTable i odczytuje jego schemat z zapisanego schematu XML przy użyciu pliku jako źródła.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

Uwagi

Użyj ReadXmlSchema metody, aby utworzyć schemat dla DataTable .Use the ReadXmlSchema method to create the schema for a DataTable. Schemat zawiera definicje tabel, relacji i ograniczeń.The schema includes table, relation, and constraint definitions.

Aby napisać schemat do dokumentu XML, użyj WriteXmlSchema metody.To write a schema to an XML document, use the WriteXmlSchema method.

Schemat XML jest interpretowany zgodnie ze standardem XSD.The XML schema is interpreted according to the XSD standard.

Uszkodzenie danych może wystąpić, jeśli typy msdata: DataType i xs: Type nie pasują do siebie.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Nie zostanie zgłoszony żaden wyjątek.No exception will be thrown.

ReadXmlSchemaMetoda jest zazwyczaj wywoływana przed wywołaniem metody, ReadXml która jest używana do wypełniania DataTable .The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Aby utworzyć relację zagnieżdżoną przy użyciu schematu XML, użyj niejawnych elementów zagnieżdżonych.To create a nested relation using XML schema, use implicit nested elements. Możesz również ponownie skonfigurować relację zagnieżdżoną, aby używać jawnych nazw kolumn.You can also reconfigure the nested relation to use explicit column names. Elementy muszą być niejawnie zagnieżdżone, aby można było uczestniczyć w relacjach w zagnieżdżonej tabeli.Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

Zobacz też

Dotyczy

ReadXmlSchema(TextReader)

Odczytuje schemat XML do DataTable użycia określonego 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);
public void ReadXmlSchema (System.IO.TextReader reader);
member this.ReadXmlSchema : System.IO.TextReader -> unit
Public Sub ReadXmlSchema (reader As TextReader)

Parametry

reader
TextReader

TextReaderUżywane do odczytywania informacji o schemacie.The TextReader used to read the schema information.

Przykłady

Następująca aplikacja konsolowa tworzy nowe DataTable i zapisuje schemat dla tej tabeli MemoryStream .The following console application creates a new DataTable, and writes the schema for that table to a MemoryStream. Następnie przykład tworzy nowy DataTable i odczytuje jego schemat z zapisanego schematu XML przy użyciu StreamReader (który dziedziczy z TextReader ) jako źródło.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

Uwagi

Użyj ReadXmlSchema metody, aby utworzyć schemat dla DataTable .Use the ReadXmlSchema method to create the schema for a DataTable. Schemat zawiera definicje tabel, relacji i ograniczeń.The schema includes table, relation, and constraint definitions.

Aby napisać schemat do dokumentu XML, użyj WriteXmlSchema metody.To write a schema to an XML document, use the WriteXmlSchema method.

Schemat XML jest interpretowany zgodnie ze standardem XSD.The XML schema is interpreted according to the XSD standard.

Uszkodzenie danych może wystąpić, jeśli typy msdata: DataType i xs: Type nie pasują do siebie.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Nie zostanie zgłoszony żaden wyjątek.No exception will be thrown.

ReadXmlSchemaMetoda jest zazwyczaj wywoływana przed wywołaniem metody, ReadXml która jest używana do wypełniania DataTable .The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Aby utworzyć relację zagnieżdżoną przy użyciu schematu XML, użyj niejawnych elementów zagnieżdżonych.To create a nested relation using XML schema, use implicit nested elements. Możesz również ponownie skonfigurować relację zagnieżdżoną, aby używać jawnych nazw kolumn.You can also reconfigure the nested relation to use explicit column names. Elementy muszą być niejawnie zagnieżdżone, aby można było uczestniczyć w relacjach w zagnieżdżonej tabeli.Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

Zobacz też

Dotyczy

ReadXmlSchema(Stream)

Odczytuje schemat XML do DataTable przy użyciu określonego strumienia.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);
public void ReadXmlSchema (System.IO.Stream stream);
member this.ReadXmlSchema : System.IO.Stream -> unit
Public Sub ReadXmlSchema (stream As Stream)

Parametry

stream
Stream

Strumień używany do odczytywania schematu.The stream used to read the schema.

Przykłady

Następująca aplikacja konsolowa tworzy nowe DataTable i zapisuje schemat dla tej tabeli MemoryStream .The following console application creates a new DataTable, and writes the schema for that table to a MemoryStream. Następnie przykład tworzy nowy DataTable i odczytuje jego schemat z zapisanego schematu 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

Uwagi

Użyj ReadXmlSchema metody, aby utworzyć schemat dla DataTable .Use the ReadXmlSchema method to create the schema for a DataTable. Schemat zawiera definicje tabel, relacji i ograniczeń.The schema includes table, relation, and constraint definitions.

Aby napisać schemat do dokumentu XML, użyj WriteXmlSchema metody.To write a schema to an XML document, use the WriteXmlSchema method.

Schemat XML jest interpretowany zgodnie ze standardem XSD.The XML schema is interpreted according to the XSD standard.

Uszkodzenie danych może wystąpić, jeśli typy msdata: DataType i xs: Type nie pasują do siebie.Data corruption can occur if the msdata:DataType and the xs:type types do not match. Nie zostanie zgłoszony żaden wyjątek.No exception will be thrown.

ReadXmlSchemaMetoda jest zazwyczaj wywoływana przed wywołaniem metody, ReadXml która jest używana do wypełniania DataTable .The ReadXmlSchema method is generally invoked before invoking the ReadXml method which is used to fill the DataTable.

Aby utworzyć relację zagnieżdżoną przy użyciu schematu XML, użyj niejawnych elementów zagnieżdżonych.To create a nested relation using XML schema, use implicit nested elements. Istnieje również możliwość skonfigurowania zagnieżdżonej relacji do używania jawnych nazw kolumn.You can also configure the nested relation to use explicit column names. Elementy muszą być niejawnie zagnieżdżone, aby można było uczestniczyć w relacjach w zagnieżdżonej tabeli.Elements must be implicitly nested in order for the corresponding DataTables to participate in a nested relation.

Zobacz też

Dotyczy