DataTable.ReadXmlSchema Metod

Definition

Läser ett XML-schema i DataTable.

Överlagringar

Name Description
ReadXmlSchema(XmlReader)

Läser in ett XML-schema i DataTable med den angivna XmlReader.

ReadXmlSchema(String)

Läser ett XML-schema till DataTable från den angivna filen.

ReadXmlSchema(TextReader)

Läser in ett XML-schema i DataTable med den angivna TextReader.

ReadXmlSchema(Stream)

Läser ett XML-schema till DataTable med hjälp av den angivna strömmen.

Kommentarer

ReadXmlSchema Använd metoden för att skapa schemat för en DataTable. Schemat innehåller tabell-, relations- och villkorsdefinitioner.

Om du vill skriva ett schema till ett XML-dokument använder du WriteXmlSchema metoden.

XML-schemat tolkas enligt XSD-standarden.

Metoden ReadXmlSchema anropas vanligtvis innan du anropar den ReadXml metod som används för att fylla DataTablei .

ReadXmlSchema(XmlReader)

Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs

Läser in ett XML-schema i DataTable med den angivna XmlReader.

public:
 void ReadXmlSchema(System::Xml::XmlReader ^ reader);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void ReadXmlSchema(System.Xml.XmlReader? reader);
public void ReadXmlSchema(System.Xml.XmlReader? reader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void ReadXmlSchema(System.Xml.XmlReader? reader);
public void ReadXmlSchema(System.Xml.XmlReader reader);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXmlSchema : System.Xml.XmlReader -> unit
member this.ReadXmlSchema : System.Xml.XmlReader -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXmlSchema : System.Xml.XmlReader -> unit
Public Sub ReadXmlSchema (reader As XmlReader)

Parametrar

reader
XmlReader

Används XmlReader för att läsa schemainformationen.

Attribut

Exempel

Följande konsolprogram skapar ett nytt DataTableoch skriver schemat för tabellen till en MemoryStream. Sedan skapar exemplet en ny DataTable och läser dess schema från det sparade XML-schemat med hjälp av en XmlTextReader (som ärver från XmlReader) som källa.

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

Kommentarer

ReadXmlSchema Använd metoden för att skapa schemat för en DataTable. Schemat innehåller tabell-, relations- och villkorsdefinitioner.

Om du vill skriva ett schema till ett XML-dokument använder du WriteXmlSchema metoden.

XML-schemat tolkas enligt XSD-standarden.

Skadade data kan inträffa om typerna msdata:DataType och xs:type inte matchar. Inget undantag utlöses.

Metoden ReadXmlSchema anropas vanligtvis innan du anropar den ReadXml metod som används för att fylla DataTablei .

Note

Sättet att skapa en kapslad relation med XML-schema är att ha implicita kapslade element. Dessutom kan den kapslade relationen kopplas om för att använda explicita kolumnnamn. Det är obligatoriskt att element implicit kapslas för att motsvarande DataTables ska kunna delta i en kapslad relation.

Se även

Gäller för

ReadXmlSchema(String)

Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs

Läser ett XML-schema till DataTable från den angivna filen.

public:
 void ReadXmlSchema(System::String ^ fileName);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void ReadXmlSchema(string fileName);
public void ReadXmlSchema(string fileName);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void ReadXmlSchema(string fileName);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXmlSchema : string -> unit
member this.ReadXmlSchema : string -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXmlSchema : string -> unit
Public Sub ReadXmlSchema (fileName As String)

Parametrar

fileName
String

Namnet på filen som schemainformationen ska läsas från.

Attribut

Exempel

Följande konsolprogram skapar ett nytt DataTableoch skriver schemat för tabellen till en fil. Sedan skapar exemplet en ny DataTable och läser dess schema från det sparade XML-schemat med filen som källa.

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

Kommentarer

ReadXmlSchema Använd metoden för att skapa schemat för en DataTable. Schemat innehåller tabell-, relations- och villkorsdefinitioner.

Om du vill skriva ett schema till ett XML-dokument använder du WriteXmlSchema metoden.

XML-schemat tolkas enligt XSD-standarden.

Skadade data kan inträffa om typerna msdata:DataType och xs:type inte matchar. Inget undantag utlöses.

Metoden ReadXmlSchema anropas vanligtvis innan du anropar den ReadXml metod som används för att fylla DataTablei .

Om du vill skapa en kapslad relation med XML-schema använder du implicita kapslade element. Du kan också konfigurera om den kapslade relationen så att den använder explicita kolumnnamn. Element måste vara implicit kapslade för att motsvarande DataTables ska kunna delta i en kapslad relation.

Se även

Gäller för

ReadXmlSchema(TextReader)

Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs

Läser in ett XML-schema i DataTable med den angivna TextReader.

public:
 void ReadXmlSchema(System::IO::TextReader ^ reader);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void ReadXmlSchema(System.IO.TextReader? reader);
public void ReadXmlSchema(System.IO.TextReader? reader);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void ReadXmlSchema(System.IO.TextReader? reader);
public void ReadXmlSchema(System.IO.TextReader reader);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXmlSchema : System.IO.TextReader -> unit
member this.ReadXmlSchema : System.IO.TextReader -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXmlSchema : System.IO.TextReader -> unit
Public Sub ReadXmlSchema (reader As TextReader)

Parametrar

reader
TextReader

Används TextReader för att läsa schemainformationen.

Attribut

Exempel

Följande konsolprogram skapar ett nytt DataTableoch skriver schemat för tabellen till en MemoryStream. Sedan skapar exemplet en ny DataTable och läser dess schema från det sparade XML-schemat med hjälp av en StreamReader (som ärver från TextReader) som källa.

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

Kommentarer

ReadXmlSchema Använd metoden för att skapa schemat för en DataTable. Schemat innehåller tabell-, relations- och villkorsdefinitioner.

Om du vill skriva ett schema till ett XML-dokument använder du WriteXmlSchema metoden.

XML-schemat tolkas enligt XSD-standarden.

Skadade data kan inträffa om typerna msdata:DataType och xs:type inte matchar. Inget undantag utlöses.

Metoden ReadXmlSchema anropas vanligtvis innan du anropar den ReadXml metod som används för att fylla DataTablei .

Om du vill skapa en kapslad relation med XML-schema använder du implicita kapslade element. Du kan också konfigurera om den kapslade relationen så att den använder explicita kolumnnamn. Element måste vara implicit kapslade för att motsvarande DataTables ska kunna delta i en kapslad relation.

Se även

Gäller för

ReadXmlSchema(Stream)

Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs
Källa:
DataTable.cs

Läser ett XML-schema till DataTable med hjälp av den angivna strömmen.

public:
 void ReadXmlSchema(System::IO::Stream ^ stream);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void ReadXmlSchema(System.IO.Stream? stream);
public void ReadXmlSchema(System.IO.Stream? stream);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void ReadXmlSchema(System.IO.Stream? stream);
public void ReadXmlSchema(System.IO.Stream stream);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXmlSchema : System.IO.Stream -> unit
member this.ReadXmlSchema : System.IO.Stream -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.ReadXmlSchema : System.IO.Stream -> unit
Public Sub ReadXmlSchema (stream As Stream)

Parametrar

stream
Stream

Dataströmmen som användes för att läsa schemat.

Attribut

Exempel

Följande konsolprogram skapar ett nytt DataTableoch skriver schemat för tabellen till en MemoryStream. Sedan skapar exemplet en ny DataTable och läser dess schema från det sparade XML-schemat.

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

Kommentarer

ReadXmlSchema Använd metoden för att skapa schemat för en DataTable. Schemat innehåller tabell-, relations- och villkorsdefinitioner.

Om du vill skriva ett schema till ett XML-dokument använder du WriteXmlSchema metoden.

XML-schemat tolkas enligt XSD-standarden.

Skadade data kan inträffa om typerna msdata:DataType och xs:type inte matchar. Inget undantag utlöses.

Metoden ReadXmlSchema anropas vanligtvis innan du anropar den ReadXml metod som används för att fylla DataTablei .

Om du vill skapa en kapslad relation med XML-schema använder du implicita kapslade element. Du kan också konfigurera den kapslade relationen så att den använder explicita kolumnnamn. Element måste vara implicit kapslade för att motsvarande DataTables ska kunna delta i en kapslad relation.

Se även

Gäller för