DataTable.ReadXmlSchema Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Liest ein XML-Schema in die DataTable.
Überlädt
ReadXmlSchema(XmlReader) |
Liest ein XML-Schema mit dem angegebenen DataTable in die XmlReader. |
ReadXmlSchema(String) |
Liest ein XML-Schema aus der angegebenen Datei in die DataTable. |
ReadXmlSchema(TextReader) |
Liest ein XML-Schema mit dem angegebenen DataTable in die TextReader. |
ReadXmlSchema(Stream) |
Liest ein XML-Schema mit dem angegebenen Stream in die DataTable. |
Hinweise
Verwenden Sie die ReadXmlSchema
-Methode, um das Schema für einen DataTablezu erstellen. Das Schema enthält Tabellen-, Beziehungs- und Einschränkungsdefinitionen.
Verwenden Sie die WriteXmlSchema -Methode, um ein Schema in ein XML-Dokument zu schreiben.
Das XML-Schema wird gemäß dem XSD-Standard interpretiert.
Die ReadXmlSchema
-Methode wird im Allgemeinen aufgerufen, bevor die ReadXml -Methode aufgerufen wird, die zum Füllen des DataTableverwendet wird.
ReadXmlSchema(XmlReader)
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
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)
Parameter
Beispiele
Die folgende Konsolenanwendung erstellt eine neue DataTableund schreibt das Schema für diese Tabelle in ein MemoryStream. Anschließend erstellt das Beispiel ein neues DataTable und liest sein Schema aus dem gespeicherten XML-Schema, wobei ein XmlTextReader (das von XmlReadererbt) als Quelle verwendet wird.
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
Hinweise
Verwenden Sie die ReadXmlSchema -Methode, um das Schema für einen DataTablezu erstellen. Das Schema enthält Tabellen-, Beziehungs- und Einschränkungsdefinitionen.
Verwenden Sie die WriteXmlSchema -Methode, um ein Schema in ein XML-Dokument zu schreiben.
Das XML-Schema wird gemäß dem XSD-Standard interpretiert.
Datenbeschädigung kann auftreten, wenn die Typen msdata:DataType und xs:type nicht übereinstimmen. Es wird keine Ausnahme ausgelöst.
Die ReadXmlSchema
-Methode wird im Allgemeinen aufgerufen, bevor die ReadXml -Methode aufgerufen wird, die zum Füllen des DataTableverwendet wird.
Hinweis
Die Möglichkeit zum Erstellen einer geschachtelten Beziehung mithilfe des XML-Schemas besteht darin, implizite geschachtelte Elemente zu haben. Darüber hinaus kann die geschachtelte Beziehung neu verkabelt werden, um explizite Spaltennamen zu verwenden. Es ist obligatorisch, dass Elemente implizit geschachtelt werden, damit die entsprechenden DataTables an einer geschachtelten Beziehung teilnehmen können.
Weitere Informationen
Gilt für:
ReadXmlSchema(String)
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
Liest ein XML-Schema aus der angegebenen Datei in die DataTable.
public:
void ReadXmlSchema(System::String ^ fileName);
public void ReadXmlSchema (string fileName);
member this.ReadXmlSchema : string -> unit
Public Sub ReadXmlSchema (fileName As String)
Parameter
- fileName
- String
Der Name der Datei, aus der die Schemainformationen gelesen werden sollen.
Beispiele
Die folgende Konsolenanwendung erstellt einen neuen DataTableund schreibt das Schema für diese Tabelle in eine Datei. Anschließend erstellt das Beispiel ein neues DataTable und liest sein Schema aus dem gespeicherten XML-Schema, wobei die Datei als Quelle verwendet wird.
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
Hinweise
Verwenden Sie die ReadXmlSchema -Methode, um das Schema für einen DataTablezu erstellen. Das Schema enthält Tabellen-, Beziehungs- und Einschränkungsdefinitionen.
Verwenden Sie die WriteXmlSchema -Methode, um ein Schema in ein XML-Dokument zu schreiben.
Das XML-Schema wird gemäß dem XSD-Standard interpretiert.
Datenbeschädigung kann auftreten, wenn die Typen msdata:DataType und xs:type nicht übereinstimmen. Es wird keine Ausnahme ausgelöst.
Die ReadXmlSchema
-Methode wird im Allgemeinen aufgerufen, bevor die ReadXml -Methode aufgerufen wird, die zum Füllen des DataTable
verwendet wird.
Verwenden Sie implizite geschachtelte Elemente, um eine geschachtelte Beziehung mithilfe des XML-Schemas zu erstellen. Sie können die geschachtelte Beziehung auch neu konfigurieren, um explizite Spaltennamen zu verwenden. Elemente müssen implizit geschachtelt sein, damit die entsprechenden DataTables an einer geschachtelten Beziehung teilnehmen können.
Weitere Informationen
Gilt für:
ReadXmlSchema(TextReader)
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
Liest ein XML-Schema mit dem angegebenen DataTable in die 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)
Parameter
- reader
- TextReader
Der zum Lesen der Schemainformationen verwendete TextReader.
Beispiele
Die folgende Konsolenanwendung erstellt eine neue DataTableund schreibt das Schema für diese Tabelle in ein MemoryStream. Anschließend erstellt das Beispiel ein neues DataTable und liest sein Schema aus dem gespeicherten XML-Schema, wobei ein StreamReader (das von TextReadererbt) als Quelle verwendet wird.
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
Hinweise
Verwenden Sie die ReadXmlSchema -Methode, um das Schema für einen DataTablezu erstellen. Das Schema enthält Tabellen-, Beziehungs- und Einschränkungsdefinitionen.
Verwenden Sie die WriteXmlSchema -Methode, um ein Schema in ein XML-Dokument zu schreiben.
Das XML-Schema wird gemäß dem XSD-Standard interpretiert.
Datenbeschädigung kann auftreten, wenn die Typen msdata:DataType und xs:type nicht übereinstimmen. Es wird keine Ausnahme ausgelöst.
Die ReadXmlSchema
-Methode wird im Allgemeinen aufgerufen, bevor die ReadXml -Methode aufgerufen wird, die zum Füllen des DataTableverwendet wird.
Verwenden Sie implizite geschachtelte Elemente, um eine geschachtelte Beziehung mithilfe des XML-Schemas zu erstellen. Sie können die geschachtelte Beziehung auch neu konfigurieren, um explizite Spaltennamen zu verwenden. Elemente müssen implizit geschachtelt sein, damit die entsprechenden DataTables an einer geschachtelten Beziehung teilnehmen können.
Weitere Informationen
Gilt für:
ReadXmlSchema(Stream)
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
- Quelle:
- DataTable.cs
Liest ein XML-Schema mit dem angegebenen Stream in die DataTable.
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)
Parameter
- stream
- Stream
Der zum Lesen des Schemas verwendete Stream.
Beispiele
Die folgende Konsolenanwendung erstellt eine neue DataTableund schreibt das Schema für diese Tabelle in ein MemoryStream. Anschließend erstellt das Beispiel ein neues DataTable und liest sein Schema aus dem gespeicherten 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
Hinweise
Verwenden Sie die ReadXmlSchema -Methode, um das Schema für einen DataTablezu erstellen. Das Schema enthält Tabellen-, Beziehungs- und Einschränkungsdefinitionen.
Verwenden Sie die WriteXmlSchema -Methode, um ein Schema in ein XML-Dokument zu schreiben.
Das XML-Schema wird gemäß dem XSD-Standard interpretiert.
Datenbeschädigung kann auftreten, wenn die Typen msdata:DataType und xs:type nicht übereinstimmen. Es wird keine Ausnahme ausgelöst.
Die ReadXmlSchema
-Methode wird im Allgemeinen aufgerufen, bevor die ReadXml -Methode aufgerufen wird, die zum Füllen des DataTableverwendet wird.
Verwenden Sie implizite geschachtelte Elemente, um eine geschachtelte Beziehung mithilfe des XML-Schemas zu erstellen. Sie können auch die geschachtelte Beziehung so konfigurieren, dass explizite Spaltennamen verwendet werden. Elemente müssen implizit geschachtelt sein, damit die entsprechenden DataTables an einer geschachtelten Beziehung teilnehmen können.