DataTable.ReadXmlSchema Methode

Definitie

Leest een XML-schema in de DataTable.

Overloads

Name Description
ReadXmlSchema(XmlReader)

Leest een XML-schema in het DataTable gebruik van de opgegeven XmlReader.

ReadXmlSchema(String)

Leest een XML-schema in het DataTable opgegeven bestand.

ReadXmlSchema(TextReader)

Leest een XML-schema in het DataTable gebruik van de opgegeven TextReader.

ReadXmlSchema(Stream)

Leest een XML-schema in het DataTable gebruik van de opgegeven stroom.

Opmerkingen

Gebruik de ReadXmlSchema methode om het schema voor een DataTable. Het schema bevat definities van tabellen, relaties en beperkingen.

Als u een schema naar een XML-document wilt schrijven, gebruikt u de WriteXmlSchema methode.

Het XML-schema wordt geïnterpreteerd volgens de XSD-standaard.

De ReadXmlSchema methode wordt over het algemeen aangeroepen voordat de methode wordt aangeroepen die wordt gebruikt om de ReadXmlDataTable.

ReadXmlSchema(XmlReader)

Leest een XML-schema in het DataTable gebruik van de opgegeven 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)

Parameters

reader
XmlReader

De XmlReader informatie die wordt gebruikt om de schemagegevens te lezen.

Voorbeelden

De volgende consoletoepassing maakt een nieuw DataTableen schrijft het schema voor die tabel naar een MemoryStream. Vervolgens maakt het voorbeeld een nieuw DataTable en leest het bijbehorende schema uit het opgeslagen XML-schema met behulp van een XmlTextReader (die overneemt van XmlReader) als bron.

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

Opmerkingen

Gebruik de ReadXmlSchema methode om het schema voor een DataTable. Het schema bevat definities van tabellen, relaties en beperkingen.

Als u een schema naar een XML-document wilt schrijven, gebruikt u de WriteXmlSchema methode.

Het XML-schema wordt geïnterpreteerd volgens de XSD-standaard.

Gegevensbeschadiging kan optreden als de typen msdata:DataType en xs:type niet overeenkomen. Er wordt geen uitzondering gegenereerd.

De ReadXmlSchema methode wordt over het algemeen aangeroepen voordat de methode wordt aangeroepen die wordt gebruikt om de ReadXmlDataTable.

Note

De manier om een geneste relatie te maken met xml-schema is impliciete geneste elementen hebben. Daarnaast kan de geneste relatie opnieuw worden bekabeld om expliciete kolomnamen te gebruiken. Het is verplicht om elementen impliciet te nesten voor de bijbehorende DataTables om deel te nemen aan een geneste relatie.

Zie ook

Van toepassing op

ReadXmlSchema(String)

Leest een XML-schema in het DataTable opgegeven bestand.

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

Parameters

fileName
String

De naam van het bestand waaruit de schemagegevens moeten worden gelezen.

Voorbeelden

De volgende consoletoepassing maakt een nieuw DataTableen schrijft het schema voor die tabel naar een bestand. Vervolgens maakt het voorbeeld een nieuw DataTable en leest het bijbehorende schema uit het opgeslagen XML-schema, met behulp van het bestand als bron.

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

Opmerkingen

Gebruik de ReadXmlSchema methode om het schema voor een DataTable. Het schema bevat definities van tabellen, relaties en beperkingen.

Als u een schema naar een XML-document wilt schrijven, gebruikt u de WriteXmlSchema methode.

Het XML-schema wordt geïnterpreteerd volgens de XSD-standaard.

Gegevensbeschadiging kan optreden als de typen msdata:DataType en xs:type niet overeenkomen. Er wordt geen uitzondering gegenereerd.

De ReadXmlSchema methode wordt over het algemeen aangeroepen voordat de methode wordt aangeroepen die wordt gebruikt om de ReadXmlDataTable.

Als u een geneste relatie wilt maken met xml-schema, gebruikt u impliciete geneste elementen. U kunt ook de geneste relatie opnieuw configureren om expliciete kolomnamen te gebruiken. Elementen moeten impliciet genest zijn, zodat de bijbehorende DataTables kunnen deelnemen aan een geneste relatie.

Zie ook

Van toepassing op

ReadXmlSchema(TextReader)

Leest een XML-schema in het DataTable gebruik van de opgegeven 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)

Parameters

reader
TextReader

De TextReader informatie die wordt gebruikt om de schemagegevens te lezen.

Voorbeelden

De volgende consoletoepassing maakt een nieuw DataTableen schrijft het schema voor die tabel naar een MemoryStream. Vervolgens maakt het voorbeeld een nieuw DataTable en leest het bijbehorende schema uit het opgeslagen XML-schema met behulp van een StreamReader (die overneemt van TextReader) als bron.

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

Opmerkingen

Gebruik de ReadXmlSchema methode om het schema voor een DataTable. Het schema bevat definities van tabellen, relaties en beperkingen.

Als u een schema naar een XML-document wilt schrijven, gebruikt u de WriteXmlSchema methode.

Het XML-schema wordt geïnterpreteerd volgens de XSD-standaard.

Gegevensbeschadiging kan optreden als de typen msdata:DataType en xs:type niet overeenkomen. Er wordt geen uitzondering gegenereerd.

De ReadXmlSchema methode wordt over het algemeen aangeroepen voordat de methode wordt aangeroepen die wordt gebruikt om de ReadXmlDataTable.

Als u een geneste relatie wilt maken met xml-schema, gebruikt u impliciete geneste elementen. U kunt ook de geneste relatie opnieuw configureren om expliciete kolomnamen te gebruiken. Elementen moeten impliciet genest zijn, zodat de bijbehorende DataTables kunnen deelnemen aan een geneste relatie.

Zie ook

Van toepassing op

ReadXmlSchema(Stream)

Leest een XML-schema in het DataTable gebruik van de opgegeven stroom.

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)

Parameters

stream
Stream

De stroom die wordt gebruikt om het schema te lezen.

Voorbeelden

De volgende consoletoepassing maakt een nieuw DataTableen schrijft het schema voor die tabel naar een MemoryStream. Vervolgens maakt het voorbeeld een nieuw DataTable en leest het bijbehorende schema uit het opgeslagen 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

Opmerkingen

Gebruik de ReadXmlSchema methode om het schema voor een DataTable. Het schema bevat definities van tabellen, relaties en beperkingen.

Als u een schema naar een XML-document wilt schrijven, gebruikt u de WriteXmlSchema methode.

Het XML-schema wordt geïnterpreteerd volgens de XSD-standaard.

Gegevensbeschadiging kan optreden als de typen msdata:DataType en xs:type niet overeenkomen. Er wordt geen uitzondering gegenereerd.

De ReadXmlSchema methode wordt over het algemeen aangeroepen voordat de methode wordt aangeroepen die wordt gebruikt om de ReadXmlDataTable.

Als u een geneste relatie wilt maken met xml-schema, gebruikt u impliciete geneste elementen. U kunt ook de geneste relatie configureren om expliciete kolomnamen te gebruiken. Elementen moeten impliciet genest zijn, zodat de bijbehorende DataTables kunnen deelnemen aan een geneste relatie.

Zie ook

Van toepassing op