Teilen über


DataTable.WriteXmlSchema Methode

Definition

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema.

Überlädt

WriteXmlSchema(Stream)

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema in den angegebenen Stream.

WriteXmlSchema(TextWriter)

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema unter Verwendung des angegebenen TextWriter.

WriteXmlSchema(String)

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema in die angegebene Datei.

WriteXmlSchema(XmlWriter)

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema unter Verwendung des angegebenen XmlWriter.

WriteXmlSchema(Stream, Boolean)

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema in den angegebenen Stream. Legen Sie zum Speichern des Schemas für die Tabelle und ihre Nachfolgerelemente den writeHierarchy-Parameter auf true fest.

WriteXmlSchema(TextWriter, Boolean)

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema unter Verwendung des angegebenen TextWriter. Legen Sie zum Speichern des Schemas für die Tabelle und ihre Nachfolgerelemente den writeHierarchy-Parameter auf true fest.

WriteXmlSchema(XmlWriter, Boolean)

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema unter Verwendung des angegebenen XmlWriter. Legen Sie zum Speichern des Schemas für die Tabelle und ihre Nachfolgerelemente den writeHierarchy-Parameter auf true fest.

WriteXmlSchema(String, Boolean)

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema in die angegebene Datei. Legen Sie zum Speichern des Schemas für die Tabelle und ihre Nachfolgerelemente den writeHierarchy-Parameter auf true fest.

Beispiele

Die folgende Konsolenanwendung erstellt zwei DataTable Instanzen, fügt jede zu einer DataSethinzu, erstellt eine DataRelation in Beziehung zu den beiden Tabellen und verwendet dann die WriteXmlSchema -Methode, um die in der übergeordneten Tabelle enthaltenen Daten in eine TextWriterzu schreiben. Das Beispiel veranschaulicht das Verhalten beim Festlegen des writeHierarchy Parameters auf jeden seiner Werte.

Hinweis

In diesem Beispiel wird gezeigt, wie Sie eine der überladenen Versionen von WriteXmlSchema verwenden. Weitere Beispiele, die möglicherweise verfügbar sind, finden Sie in den einzelnen Überladungsthemen.

static void Main()
{
    DataSet ds = new DataSet();
    DataTable customerTable = GetCustomers();
    DataTable orderTable = GetOrders();

    ds.Tables.Add(customerTable);
    ds.Tables.Add(orderTable);
    ds.Relations.Add("CustomerOrder",
        new DataColumn[] { customerTable.Columns[0] },
        new DataColumn[] { orderTable.Columns[1] }, true);

    System.IO.StringWriter writer = new System.IO.StringWriter();
    customerTable.WriteXmlSchema(writer, false);
    PrintOutput(writer, "Customer table, without hierarchy");

    writer = new System.IO.StringWriter();
    customerTable.WriteXmlSchema(writer, true);
    PrintOutput(writer, "Customer table, with hierarchy");

    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(System.Int32));
    table.Columns.Add("Name", typeof(System.String));

    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    table.AcceptChanges();
    return table;
}

private static DataTable GetOrders()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create three columns; OrderID, CustomerID, and OrderDate.
    table.Columns.Add(new DataColumn("OrderID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("CustomerID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("OrderDate", typeof(System.DateTime)));

    // Set the OrderID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { table.Columns[0] };

    table.Rows.Add(new object[] { 1, 1, "12/2/2003" });
    table.Rows.Add(new object[] { 2, 1, "1/3/2004" });
    table.Rows.Add(new object[] { 3, 2, "11/13/2004" });
    table.Rows.Add(new object[] { 4, 3, "5/16/2004" });
    table.Rows.Add(new object[] { 5, 3, "5/22/2004" });
    table.Rows.Add(new object[] { 6, 4, "6/15/2004" });
    table.AcceptChanges();
    return table;
}

private static void PrintOutput(System.IO.TextWriter writer,
    string caption)
{
    Console.WriteLine("==============================");
    Console.WriteLine(caption);
    Console.WriteLine("==============================");
    Console.WriteLine(writer.ToString());
}
Sub Main()
  Dim ds As New DataSet
  Dim customerTable As DataTable = GetCustomers()
  Dim orderTable As DataTable = GetOrders()

  ds.Tables.Add(customerTable)
  ds.Tables.Add(orderTable)
  ds.Relations.Add("CustomerOrder", _
   New DataColumn() {customerTable.Columns(0)}, _
   New DataColumn() {orderTable.Columns(1)}, True)

  Dim writer As New System.IO.StringWriter
  customerTable.WriteXmlSchema(writer, False)
  PrintOutput(writer, "Customer table, without hierarchy")

  writer = New System.IO.StringWriter
  customerTable.WriteXmlSchema(writer, True)
  PrintOutput(writer, "Customer table, with hierarchy")

  Console.WriteLine("Press any key to continue.")
  Console.ReadKey()
End Sub

Private Function GetOrders() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create three columns, OrderID, CustomerID, and OrderDate.
  table.Columns.Add(New DataColumn("OrderID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("CustomerID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("OrderDate", GetType(System.DateTime)))

  ' Set the OrderID column as the primary key column.
  table.PrimaryKey = New DataColumn() {table.Columns(0)}

  table.Rows.Add(New Object() {1, 1, #12/2/2003#})
  table.Rows.Add(New Object() {2, 1, #1/3/2004#})
  table.Rows.Add(New Object() {3, 2, #11/13/2004#})
  table.Rows.Add(New Object() {4, 3, #5/16/2004#})
  table.Rows.Add(New Object() {5, 3, #5/22/2004#})
  table.Rows.Add(New Object() {6, 4, #6/15/2004#})
  table.AcceptChanges()
  Return table
End Function

Private Function GetCustomers() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create two columns, ID and Name.
  Dim idColumn As DataColumn = table.Columns.Add("ID", GetType(System.Int32))
  table.Columns.Add("Name", GetType(System.String))

  ' Set the ID column as the primary key column.
  table.PrimaryKey = New DataColumn() {idColumn}

  table.Rows.Add(New Object() {1, "Mary"})
  table.Rows.Add(New Object() {2, "Andy"})
  table.Rows.Add(New Object() {3, "Peter"})
  table.Rows.Add(New Object() {4, "Russ"})
  table.AcceptChanges()
  Return table
End Function

Private Sub PrintOutput( _
   ByVal writer As System.IO.TextWriter, ByVal caption As String)

  Console.WriteLine("==============================")
  Console.WriteLine(caption)
  Console.WriteLine("==============================")
  Console.WriteLine(writer.ToString())
End Sub

Im Beispiel wird die folgende Ausgabe im Konsolenfenster angezeigt:

==============================
Customer table, without hierarchy
==============================
<?xml version="1.0" encoding="utf-16"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Ta
ble1">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Table1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ID" type="xs:int" />
              <xs:element name="Name" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
    <xs:unique name="Constraint1" msdata:PrimaryKey="true">
      <xs:selector xpath=".//Table1" />
      <xs:field xpath="ID" />
    </xs:unique>
  </xs:element>
</xs:schema>
==============================
Customer table, with hierarchy
==============================
<?xml version="1.0" encoding="utf-16"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Table1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ID" type="xs:int" />
              <xs:element name="Name" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Table2">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="OrderID" type="xs:int" />
              <xs:element name="CustomerID" type="xs:int" minOccurs="0" />
              <xs:element name="OrderDate" type="xs:dateTime" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
    <xs:unique name="Constraint1" msdata:PrimaryKey="true">
      <xs:selector xpath=".//Table1" />
      <xs:field xpath="ID" />
    </xs:unique>
    <xs:unique name="Table2_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
      <xs:selector xpath=".//Table2" />
      <xs:field xpath="OrderID" />
    </xs:unique>
    <xs:keyref name="CustomerOrder" refer="Constraint1">
      <xs:selector xpath=".//Table2" />
      <xs:field xpath="CustomerID" />
    </xs:keyref>
  </xs:element>
</xs:schema>

Hinweise

Verwenden Sie die WriteXmlSchema -Methode, um das Schema für ein DataTable in ein XML-Dokument zu schreiben. Das Schema enthält Tabellen-, Beziehungs- und Einschränkungsdefinitionen.

Das XML-Schema wird mit dem XSD-Standard geschrieben.

Verwenden Sie WriteXml die -Methode, um die Daten in ein XML-Dokument zu schreiben.

WriteXmlSchema(Stream)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema in den angegebenen Stream.

public:
 void WriteXmlSchema(System::IO::Stream ^ stream);
public void WriteXmlSchema (System.IO.Stream? stream);
public void WriteXmlSchema (System.IO.Stream stream);
member this.WriteXmlSchema : System.IO.Stream -> unit
Public Sub WriteXmlSchema (stream As Stream)

Parameter

stream
Stream

Der Stream, in den das XML-Schema geschrieben wird.

Hinweise

Verwenden Sie die WriteXmlSchema -Methode, um das Schema für ein DataTable in ein XML-Dokument zu schreiben. Das Schema umfasst Tabellen-, Beziehungs- und Einschränkungsdefinitionen.

Das XML-Schema wird mit dem XSD-Standard geschrieben.

Verwenden Sie WriteXml die -Methode, um die Daten in ein XML-Dokument zu schreiben.

Weitere Informationen

Gilt für:

WriteXmlSchema(TextWriter)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema unter Verwendung des angegebenen TextWriter.

public:
 void WriteXmlSchema(System::IO::TextWriter ^ writer);
public void WriteXmlSchema (System.IO.TextWriter? writer);
public void WriteXmlSchema (System.IO.TextWriter writer);
member this.WriteXmlSchema : System.IO.TextWriter -> unit
Public Sub WriteXmlSchema (writer As TextWriter)

Parameter

writer
TextWriter

Der TextWriter, mit dem geschrieben werden soll.

Hinweise

Verwenden Sie die WriteXmlSchema -Methode, um das Schema für ein DataTable in ein XML-Dokument zu schreiben. Das Schema umfasst Tabellen-, Beziehungs- und Einschränkungsdefinitionen.

Das XML-Schema wird mit dem XSD-Standard geschrieben.

Verwenden Sie WriteXml die -Methode, um die Daten in ein XML-Dokument zu schreiben.

Weitere Informationen

Gilt für:

WriteXmlSchema(String)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema in die angegebene Datei.

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

Parameter

fileName
String

Der Name der zu verwendenden Datei.

Hinweise

Verwenden Sie die WriteXmlSchema -Methode, um das Schema für ein DataTable in ein XML-Dokument zu schreiben. Das Schema umfasst Tabellen-, Beziehungs- und Einschränkungsdefinitionen.

Das XML-Schema wird mit dem XSD-Standard geschrieben.

Verwenden Sie WriteXml die -Methode, um die Daten in ein XML-Dokument zu schreiben.

Weitere Informationen

Gilt für:

WriteXmlSchema(XmlWriter)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema unter Verwendung des angegebenen XmlWriter.

public:
 void WriteXmlSchema(System::Xml::XmlWriter ^ writer);
public void WriteXmlSchema (System.Xml.XmlWriter? writer);
public void WriteXmlSchema (System.Xml.XmlWriter writer);
member this.WriteXmlSchema : System.Xml.XmlWriter -> unit
Public Sub WriteXmlSchema (writer As XmlWriter)

Parameter

writer
XmlWriter

Der zu verwendende XmlWriter.

Hinweise

Verwenden Sie die WriteXmlSchema -Methode, um das Schema für ein DataTable in ein XML-Dokument zu schreiben. Das Schema umfasst Tabellen-, Beziehungs- und Einschränkungsdefinitionen.

Das XML-Schema wird mit dem XSD-Standard geschrieben.

Verwenden Sie WriteXml die -Methode, um die Daten in ein XML-Dokument zu schreiben.

Weitere Informationen

Gilt für:

WriteXmlSchema(Stream, Boolean)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema in den angegebenen Stream. Legen Sie zum Speichern des Schemas für die Tabelle und ihre Nachfolgerelemente den writeHierarchy-Parameter auf true fest.

public:
 void WriteXmlSchema(System::IO::Stream ^ stream, bool writeHierarchy);
public void WriteXmlSchema (System.IO.Stream? stream, bool writeHierarchy);
public void WriteXmlSchema (System.IO.Stream stream, bool writeHierarchy);
member this.WriteXmlSchema : System.IO.Stream * bool -> unit
Public Sub WriteXmlSchema (stream As Stream, writeHierarchy As Boolean)

Parameter

stream
Stream

Der Stream, in den das XML-Schema geschrieben wird.

writeHierarchy
Boolean

Wenn true, wird das Schema der aktuellen Tabelle und aller ihrer Nachfolgerelemente geschrieben. Wenn false (der Standardwert), wird nur das Schema für die aktuelle Tabelle geschrieben.

Hinweise

Verwenden Sie die WriteXmlSchema -Methode, um das Schema für ein DataTable in ein XML-Dokument zu schreiben. Das Schema umfasst Tabellen-, Beziehungs- und Einschränkungsdefinitionen.

Das XML-Schema wird mit dem XSD-Standard geschrieben.

Verwenden Sie WriteXml die -Methode, um die Daten in ein XML-Dokument zu schreiben.

Normalerweise schreibt die WriteXmlSchema -Methode das Schema nur für die aktuelle Tabelle. Rufen Sie zum Schreiben des Schemas für die aktuelle Tabelle und deren gesamte verwandte Tabellen die -Methode auf, wobei der writeHierarchy Parameter auf truefestgelegt ist.

Weitere Informationen

Gilt für:

WriteXmlSchema(TextWriter, Boolean)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema unter Verwendung des angegebenen TextWriter. Legen Sie zum Speichern des Schemas für die Tabelle und ihre Nachfolgerelemente den writeHierarchy-Parameter auf true fest.

public:
 void WriteXmlSchema(System::IO::TextWriter ^ writer, bool writeHierarchy);
public void WriteXmlSchema (System.IO.TextWriter? writer, bool writeHierarchy);
public void WriteXmlSchema (System.IO.TextWriter writer, bool writeHierarchy);
member this.WriteXmlSchema : System.IO.TextWriter * bool -> unit
Public Sub WriteXmlSchema (writer As TextWriter, writeHierarchy As Boolean)

Parameter

writer
TextWriter

Der TextWriter, mit dem geschrieben werden soll.

writeHierarchy
Boolean

Wenn true, wird das Schema der aktuellen Tabelle und aller ihrer Nachfolgerelemente geschrieben. Wenn false (der Standardwert), wird nur das Schema für die aktuelle Tabelle geschrieben.

Beispiele

Die folgende Konsolenanwendung erstellt zwei DataTable Instanzen, fügt jede zu einer DataSethinzu, erstellt eine DataRelation in Beziehung zu den beiden Tabellen und verwendet dann die WriteXmlSchema -Methode, um die in der übergeordneten Tabelle enthaltenen Daten in eine TextWriterzu schreiben. Das Beispiel veranschaulicht das Verhalten beim Festlegen des writeHierarchy Parameters auf jeden seiner Werte.

static void Main()
{
    DataSet ds = new DataSet();
    DataTable customerTable = GetCustomers();
    DataTable orderTable = GetOrders();

    ds.Tables.Add(customerTable);
    ds.Tables.Add(orderTable);
    ds.Relations.Add("CustomerOrder",
        new DataColumn[] { customerTable.Columns[0] },
        new DataColumn[] { orderTable.Columns[1] }, true);

    System.IO.StringWriter writer = new System.IO.StringWriter();
    customerTable.WriteXmlSchema(writer, false);
    PrintOutput(writer, "Customer table, without hierarchy");

    writer = new System.IO.StringWriter();
    customerTable.WriteXmlSchema(writer, true);
    PrintOutput(writer, "Customer table, with hierarchy");

    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(System.Int32));
    table.Columns.Add("Name", typeof(System.String));

    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    table.AcceptChanges();
    return table;
}

private static DataTable GetOrders()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create three columns; OrderID, CustomerID, and OrderDate.
    table.Columns.Add(new DataColumn("OrderID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("CustomerID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("OrderDate", typeof(System.DateTime)));

    // Set the OrderID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { table.Columns[0] };

    table.Rows.Add(new object[] { 1, 1, "12/2/2003" });
    table.Rows.Add(new object[] { 2, 1, "1/3/2004" });
    table.Rows.Add(new object[] { 3, 2, "11/13/2004" });
    table.Rows.Add(new object[] { 4, 3, "5/16/2004" });
    table.Rows.Add(new object[] { 5, 3, "5/22/2004" });
    table.Rows.Add(new object[] { 6, 4, "6/15/2004" });
    table.AcceptChanges();
    return table;
}

private static void PrintOutput(System.IO.TextWriter writer, string caption)
{
    Console.WriteLine("==============================");
    Console.WriteLine(caption);
    Console.WriteLine("==============================");
    Console.WriteLine(writer.ToString());
}
Sub Main()
  Dim ds As New DataSet
  Dim customerTable As DataTable = GetCustomers()
  Dim orderTable As DataTable = GetOrders()

  ds.Tables.Add(customerTable)
  ds.Tables.Add(orderTable)
  ds.Relations.Add("CustomerOrder", _
   New DataColumn() {customerTable.Columns(0)}, _
   New DataColumn() {orderTable.Columns(1)}, True)

  Dim writer As New System.IO.StringWriter
  customerTable.WriteXmlSchema(writer, False)
  PrintOutput(writer, "Customer table, without hierarchy")

  writer = New System.IO.StringWriter
  customerTable.WriteXmlSchema(writer, True)
  PrintOutput(writer, "Customer table, with hierarchy")

  Console.WriteLine("Press any key to continue.")
  Console.ReadKey()
End Sub

Private Function GetOrders() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create three columns, OrderID, CustomerID, and OrderDate.
  table.Columns.Add(New DataColumn("OrderID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("CustomerID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("OrderDate", GetType(System.DateTime)))

  ' Set the OrderID column as the primary key column.
  table.PrimaryKey = New DataColumn() {table.Columns(0)}

  table.Rows.Add(New Object() {1, 1, #12/2/2003#})
  table.Rows.Add(New Object() {2, 1, #1/3/2004#})
  table.Rows.Add(New Object() {3, 2, #11/13/2004#})
  table.Rows.Add(New Object() {4, 3, #5/16/2004#})
  table.Rows.Add(New Object() {5, 3, #5/22/2004#})
  table.Rows.Add(New Object() {6, 4, #6/15/2004#})
  table.AcceptChanges()
  Return table
End Function

Private Function GetCustomers() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create two columns, ID and Name.
  Dim idColumn As DataColumn = table.Columns.Add("ID", _
      GetType(System.Int32))
  table.Columns.Add("Name", GetType(System.String))

  ' Set the ID column as the primary key column.
  table.PrimaryKey = New DataColumn() {idColumn}

  table.Rows.Add(New Object() {1, "Mary"})
  table.Rows.Add(New Object() {2, "Andy"})
  table.Rows.Add(New Object() {3, "Peter"})
  table.Rows.Add(New Object() {4, "Russ"})
  table.AcceptChanges()
  Return table
End Function

Private Sub PrintOutput( _
   ByVal writer As System.IO.TextWriter, ByVal caption As String)

  Console.WriteLine("==============================")
  Console.WriteLine(caption)
  Console.WriteLine("==============================")
  Console.WriteLine(writer.ToString())
End Sub

Im Beispiel wird die folgende Ausgabe im Konsolenfenster angezeigt:

==============================
Customer table, without hierarchy
==============================
<?xml version="1.0" encoding="utf-16"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Ta
ble1">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Table1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ID" type="xs:int" />
              <xs:element name="Name" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
    <xs:unique name="Constraint1" msdata:PrimaryKey="true">
      <xs:selector xpath=".//Table1" />
      <xs:field xpath="ID" />
    </xs:unique>
  </xs:element>
</xs:schema>
==============================
Customer table, with hierarchy
==============================
<?xml version="1.0" encoding="utf-16"?>
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Table1">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="ID" type="xs:int" />
              <xs:element name="Name" type="xs:string" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Table2">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="OrderID" type="xs:int" />
              <xs:element name="CustomerID" type="xs:int" minOccurs="0" />
              <xs:element name="OrderDate" type="xs:dateTime" minOccurs="0" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
    <xs:unique name="Constraint1" msdata:PrimaryKey="true">
      <xs:selector xpath=".//Table1" />
      <xs:field xpath="ID" />
    </xs:unique>
    <xs:unique name="Table2_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
      <xs:selector xpath=".//Table2" />
      <xs:field xpath="OrderID" />
    </xs:unique>
    <xs:keyref name="CustomerOrder" refer="Constraint1">
      <xs:selector xpath=".//Table2" />
      <xs:field xpath="CustomerID" />
    </xs:keyref>
  </xs:element>
</xs:schema>

Hinweise

Verwenden Sie die WriteXmlSchema -Methode, um das Schema für ein DataTable in ein XML-Dokument zu schreiben. Das Schema umfasst Tabellen-, Beziehungs- und Einschränkungsdefinitionen.

Das XML-Schema wird mit dem XSD-Standard geschrieben.

Verwenden Sie WriteXml die -Methode, um die Daten in ein XML-Dokument zu schreiben.

Normalerweise schreibt die WriteXmlSchema -Methode das Schema nur für die aktuelle Tabelle. Rufen Sie zum Schreiben des Schemas für die aktuelle Tabelle und deren gesamte verwandte Tabellen die -Methode auf, wobei der writeHierarchy Parameter auf truefestgelegt ist.

Weitere Informationen

Gilt für:

WriteXmlSchema(XmlWriter, Boolean)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema unter Verwendung des angegebenen XmlWriter. Legen Sie zum Speichern des Schemas für die Tabelle und ihre Nachfolgerelemente den writeHierarchy-Parameter auf true fest.

public:
 void WriteXmlSchema(System::Xml::XmlWriter ^ writer, bool writeHierarchy);
public void WriteXmlSchema (System.Xml.XmlWriter? writer, bool writeHierarchy);
public void WriteXmlSchema (System.Xml.XmlWriter writer, bool writeHierarchy);
member this.WriteXmlSchema : System.Xml.XmlWriter * bool -> unit
Public Sub WriteXmlSchema (writer As XmlWriter, writeHierarchy As Boolean)

Parameter

writer
XmlWriter

Der zum Schreiben des Dokuments verwendete XmlWriter.

writeHierarchy
Boolean

Wenn true, wird das Schema der aktuellen Tabelle und aller ihrer Nachfolgerelemente geschrieben. Wenn false (der Standardwert), wird nur das Schema für die aktuelle Tabelle geschrieben.

Hinweise

Verwenden Sie die WriteXmlSchema -Methode, um das Schema für ein DataTable in ein XML-Dokument zu schreiben. Das Schema umfasst Tabellen-, Beziehungs- und Einschränkungsdefinitionen.

Das XML-Schema wird mit dem XSD-Standard geschrieben.

Verwenden Sie WriteXml die -Methode, um die Daten in ein XML-Dokument zu schreiben.

Normalerweise schreibt die WriteXmlSchema -Methode das Schema nur für die aktuelle Tabelle. Rufen Sie zum Schreiben des Schemas für die aktuelle Tabelle und deren gesamte verwandte Tabellen die -Methode auf, wobei der writeHierarchy Parameter auf truefestgelegt ist.

Weitere Informationen

Gilt für:

WriteXmlSchema(String, Boolean)

Quelle:
DataTable.cs
Quelle:
DataTable.cs
Quelle:
DataTable.cs

Schreibt die aktuelle Datenstruktur der DataTable als XML-Schema in die angegebene Datei. Legen Sie zum Speichern des Schemas für die Tabelle und ihre Nachfolgerelemente den writeHierarchy-Parameter auf true fest.

public:
 void WriteXmlSchema(System::String ^ fileName, bool writeHierarchy);
public void WriteXmlSchema (string fileName, bool writeHierarchy);
member this.WriteXmlSchema : string * bool -> unit
Public Sub WriteXmlSchema (fileName As String, writeHierarchy As Boolean)

Parameter

fileName
String

Der Name der zu verwendenden Datei.

writeHierarchy
Boolean

Wenn true, wird das Schema der aktuellen Tabelle und aller ihrer Nachfolgerelemente geschrieben. Wenn false (der Standardwert), wird nur das Schema für die aktuelle Tabelle geschrieben.

Hinweise

Verwenden Sie die WriteXmlSchema -Methode, um das Schema für ein DataTable in ein XML-Dokument zu schreiben. Das Schema enthält Tabellen-, Beziehungs- und Einschränkungsdefinitionen.

Das XML-Schema wird mit dem XSD-Standard geschrieben.

Verwenden Sie WriteXml die -Methode, um die Daten in ein XML-Dokument zu schreiben.

Normalerweise schreibt die WriteXmlSchema -Methode das Schema nur für die aktuelle Tabelle. Zum Schreiben des Schemas für die aktuelle Tabelle und deren gesamte untergeordnete Tabellen, verwandte Tabellen, rufen Sie die -Methode auf, wobei der writeHierarchy Parameter auf festgelegt ist true.

Weitere Informationen

Gilt für: