Sdílet prostřednictvím


DataTable.ReadXmlSchema Metoda

Definice

Načte schéma XML do objektu DataTable.

Přetížení

ReadXmlSchema(XmlReader)

Načte schéma XML do objektu DataTable pomocí zadaného XmlReader.

ReadXmlSchema(String)

Načte schéma XML ze DataTable zadaného souboru.

ReadXmlSchema(TextReader)

Načte schéma XML do objektu DataTable pomocí zadaného TextReader.

ReadXmlSchema(Stream)

Načte schéma XML do objektu DataTable pomocí zadaného datového proudu.

Poznámky

ReadXmlSchema Pomocí metody vytvořte schéma pro DataTable. Schéma obsahuje definice tabulky, relace a omezení.

K zápisu schématu do dokumentu XML použijte metodu WriteXmlSchema .

Schéma XML je interpretováno podle standardu XSD.

Metoda je ReadXmlSchema obecně vyvolána před vyvoláním ReadXml metody, která se používá k vyplnění DataTable.

ReadXmlSchema(XmlReader)

Zdroj:
DataTable.cs
Zdroj:
DataTable.cs
Zdroj:
DataTable.cs

Načte schéma XML do objektu DataTable pomocí zadaného 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

Slouží XmlReader ke čtení informací o schématu.

Příklady

Následující konzolová aplikace vytvoří novou DataTablea zapíše schéma pro danou MemoryStreamtabulku do . Potom příklad vytvoří nový DataTable a načte své schéma z uloženého schématu XML pomocí XmlTextReader (který dědí z XmlReader) jako zdroj.

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

Poznámky

ReadXmlSchema Pomocí metody vytvořte schéma pro DataTable. Schéma obsahuje definice tabulky, relace a omezení.

K zápisu schématu do dokumentu XML použijte metodu WriteXmlSchema .

Schéma XML je interpretováno podle standardu XSD.

Pokud se typy msdata:DataType a xs:type neshodují, může dojít k poškození dat. Nebude vyvolána žádná výjimka.

Metoda je ReadXmlSchema obecně vyvolána před vyvoláním ReadXml metody, která se používá k vyplnění DataTable.

Poznámka

Způsob, jak vytvořit vnořenou relaci pomocí schématu XML, je mít implicitní vnořené elementy. Kromě toho může být vnořená relace znovu propojena tak, aby používala explicitní názvy sloupců. Elementy musí být implicitně vnořené, aby se odpovídající tabulky DataTables zapojily do vnořené relace.

Viz také

Platí pro

ReadXmlSchema(String)

Zdroj:
DataTable.cs
Zdroj:
DataTable.cs
Zdroj:
DataTable.cs

Načte schéma XML ze DataTable zadaného souboru.

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

Název souboru, ze kterého se mají číst informace o schématu.

Příklady

Následující konzolová aplikace vytvoří novou DataTablea zapíše schéma pro danou tabulku do souboru. Potom příklad vytvoří nový DataTable a načte své schéma z uloženého schématu XML, přičemž jako zdroj použije soubor .

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

Poznámky

ReadXmlSchema Pomocí metody vytvořte schéma pro DataTable. Schéma obsahuje definice tabulky, relace a omezení.

K zápisu schématu do dokumentu XML použijte metodu WriteXmlSchema .

Schéma XML je interpretováno podle standardu XSD.

Pokud se typy msdata:DataType a xs:type neshodují, může dojít k poškození dat. Nebude vyvolána žádná výjimka.

Metoda je ReadXmlSchema obecně vyvolána před vyvoláním ReadXml metody, která se používá k vyplnění DataTable.

Pokud chcete vytvořit vnořenou relaci pomocí schématu XML, použijte implicitní vnořené elementy. Můžete také překonfigurovat vnořenou relaci tak, aby používala explicitní názvy sloupců. Elementy musí být implicitně vnořené, aby se odpovídající tabulky DataTables mohly účastnit vnořené relace.

Viz také

Platí pro

ReadXmlSchema(TextReader)

Zdroj:
DataTable.cs
Zdroj:
DataTable.cs
Zdroj:
DataTable.cs

Načte schéma XML do objektu DataTable pomocí zadaného 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

Slouží TextReader ke čtení informací o schématu.

Příklady

Následující konzolová aplikace vytvoří novou DataTablea zapíše schéma pro danou MemoryStreamtabulku do . Potom příklad vytvoří nový DataTable a načte své schéma z uloženého schématu XML pomocí StreamReader (který dědí z TextReader) jako zdroj.

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

Poznámky

ReadXmlSchema Pomocí metody vytvořte schéma pro DataTable. Schéma obsahuje definice tabulky, relace a omezení.

K zápisu schématu do dokumentu XML použijte metodu WriteXmlSchema .

Schéma XML je interpretováno podle standardu XSD.

Pokud se typy msdata:DataType a xs:type neshodují, může dojít k poškození dat. Nebude vyvolána žádná výjimka.

Metoda je ReadXmlSchema obecně vyvolána před vyvoláním ReadXml metody, která se používá k vyplnění DataTable.

Pokud chcete vytvořit vnořenou relaci pomocí schématu XML, použijte implicitní vnořené elementy. Můžete také překonfigurovat vnořenou relaci tak, aby používala explicitní názvy sloupců. Elementy musí být implicitně vnořené, aby se odpovídající tabulky DataTables mohly účastnit vnořené relace.

Viz také

Platí pro

ReadXmlSchema(Stream)

Zdroj:
DataTable.cs
Zdroj:
DataTable.cs
Zdroj:
DataTable.cs

Načte schéma XML do objektu DataTable pomocí zadaného datového proudu.

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

Datový proud použitý ke čtení schématu.

Příklady

Následující konzolová aplikace vytvoří novou DataTablea zapíše schéma pro danou MemoryStreamtabulku do . Potom příklad vytvoří nový DataTable a načte své schéma z uloženého schématu 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

Poznámky

ReadXmlSchema Pomocí metody vytvořte schéma pro DataTable. Schéma obsahuje definice tabulky, relace a omezení.

K zápisu schématu do dokumentu XML použijte metodu WriteXmlSchema .

Schéma XML je interpretováno podle standardu XSD.

Pokud se typy msdata:DataType a xs:type neshodují, může dojít k poškození dat. Nebude vyvolána žádná výjimka.

Metoda je ReadXmlSchema obecně vyvolána před vyvoláním ReadXml metody, která se používá k vyplnění DataTable.

Pokud chcete vytvořit vnořenou relaci pomocí schématu XML, použijte implicitní vnořené elementy. Můžete také nakonfigurovat vnořenou relaci tak, aby používala explicitní názvy sloupců. Elementy musí být implicitně vnořené, aby se odpovídající tabulky DataTables mohly účastnit vnořené relace.

Viz také

Platí pro