DataTable.WriteXmlSchema DataTable.WriteXmlSchema DataTable.WriteXmlSchema DataTable.WriteXmlSchema Method

定義

DataTable 目前的資料結構撰寫成 XML 結構描述。Writes the current data structure of the DataTable as an XML schema.

多載

WriteXmlSchema(Stream) WriteXmlSchema(Stream) WriteXmlSchema(Stream)

DataTable 目前的資料結構撰寫成 XML 結構描述,寫入至指定的資料流。Writes the current data structure of the DataTable as an XML schema to the specified stream.

WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter)

使用指定的 DataTable,將 TextWriter 目前的資料結構撰寫成 XML 結構描述。Writes the current data structure of the DataTable as an XML schema using the specified TextWriter.

WriteXmlSchema(String) WriteXmlSchema(String) WriteXmlSchema(String) WriteXmlSchema(String)

DataTable 目前的資料結構撰寫成 XML 結構描述,寫入至指定的檔案。Writes the current data structure of the DataTable as an XML schema to the specified file.

WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter)

使用指定的 DataTable,將 XmlWriter 目前的資料結構撰寫成 XML 結構描述。Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter.

WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean)

DataTable 目前的資料結構撰寫成 XML 結構描述,寫入至指定的資料流。Writes the current data structure of the DataTable as an XML schema to the specified stream. 若要儲存資料表及其所有子代的結構描述,請將 writeHierarchy 參數設定為 trueTo save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean)

使用指定的 DataTable,將 TextWriter 目前的資料結構撰寫成 XML 結構描述。Writes the current data structure of the DataTable as an XML schema using the specified TextWriter. 若要儲存資料表及其所有子代的結構描述,請將 writeHierarchy 參數設定為 trueTo save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean)

使用指定的 DataTable,將 XmlWriter 目前的資料結構撰寫成 XML 結構描述。Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter. 若要儲存資料表及其所有子代的結構描述,請將 writeHierarchy 參數設定為 trueTo save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean)

DataTable 目前的資料結構撰寫成 XML 結構描述,寫入至指定的檔案。Writes the current data structure of the DataTable as an XML schema to the specified file. 若要儲存資料表及其所有子代的結構描述,請將 writeHierarchy 參數設定為 trueTo save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

範例

下列主控台應用程式會建立DataTable兩個實例, DataSet並將每個實例DataRelation新增至、建立與這兩個數據表WriteXmlSchema相關的,然後使用方法將包含在父資料表中的資料寫入至TextWriter.The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXmlSchema method to write the data contained within the parent table to a TextWriter. 此範例會示範將writeHierarchy參數設定為其每個值時的行為。The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

注意

這個範例示範如何使用的其中一個多載版本WriteXmlSchema ,以取得可能可用的其他範例,請參閱個別多載主題。This example shows how to use one of the overloaded versions of WriteXmlSchema For other examples that might be available, see the individual overload topics.

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

此範例會在主控台視窗中顯示以下輸出:The example displays the following output in the console window:

==============================  
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>  

備註

使用方法,即可將的架構DataTable寫入 XML 檔。 WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. 架構包括資料表、關聯和條件約束定義。The schema includes table, relation, and constraint definitions.

XML 架構是使用 XSD 標準撰寫的。The XML schema is written using the XSD standard.

若要將資料寫入 XML 檔,請使用WriteXml方法。To write the data to an XML document, use the WriteXml method.

WriteXmlSchema(Stream) WriteXmlSchema(Stream) WriteXmlSchema(Stream)

DataTable 目前的資料結構撰寫成 XML 結構描述,寫入至指定的資料流。Writes the current data structure of the DataTable as an XML schema to the specified stream.

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

參數

stream
Stream Stream Stream Stream

XML 結構描述將寫入其中的資料流。The stream to which the XML schema will be written.

備註

使用方法,即可將的架構DataTable寫入 XML 檔。 WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. 架構包括資料表、關聯和條件約束定義。The schema includes table, relation, and constraint definitions.

XML 架構是使用 XSD 標準撰寫的。The XML schema is written using the XSD standard.

若要將資料寫入 XML 檔,請使用WriteXml方法。To write the data to an XML document, use the WriteXml method.

另請參閱

WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter) WriteXmlSchema(TextWriter)

使用指定的 DataTable,將 TextWriter 目前的資料結構撰寫成 XML 結構描述。Writes the current data structure of the DataTable as an XML schema using the specified TextWriter.

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)

參數

writer
TextWriter TextWriter TextWriter TextWriter

要用來寫入的 TextWriterThe TextWriter with which to write.

備註

使用方法,即可將的架構DataTable寫入 XML 檔。 WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. 架構包括資料表、關聯和條件約束定義。The schema includes table, relation, and constraint definitions.

XML 架構是使用 XSD 標準撰寫的。The XML schema is written using the XSD standard.

若要將資料寫入 XML 檔,請使用WriteXml方法。To write the data to an XML document, use the WriteXml method.

另請參閱

WriteXmlSchema(String) WriteXmlSchema(String) WriteXmlSchema(String) WriteXmlSchema(String)

DataTable 目前的資料結構撰寫成 XML 結構描述,寫入至指定的檔案。Writes the current data structure of the DataTable as an XML schema to the specified file.

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

參數

fileName
String String String String

要使用的檔案名稱。The name of the file to use.

備註

使用方法,即可將的架構DataTable寫入 XML 檔。 WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. 架構包括資料表、關聯和條件約束定義。The schema includes table, relation, and constraint definitions.

XML 架構是使用 XSD 標準撰寫的。The XML schema is written using the XSD standard.

若要將資料寫入 XML 檔,請使用WriteXml方法。To write the data to an XML document, use the WriteXml method.

另請參閱

WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter) WriteXmlSchema(XmlWriter)

使用指定的 DataTable,將 XmlWriter 目前的資料結構撰寫成 XML 結構描述。Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter.

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)

參數

writer
XmlWriter XmlWriter XmlWriter XmlWriter

要使用的 XmlWriterThe XmlWriter to use.

備註

使用方法,即可將的架構DataTable寫入 XML 檔。 WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. 架構包括資料表、關聯和條件約束定義。The schema includes table, relation, and constraint definitions.

XML 架構是使用 XSD 標準撰寫的。The XML schema is written using the XSD standard.

若要將資料寫入 XML 檔,請使用WriteXml方法。To write the data to an XML document, use the WriteXml method.

另請參閱

WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean) WriteXmlSchema(Stream, Boolean)

DataTable 目前的資料結構撰寫成 XML 結構描述,寫入至指定的資料流。Writes the current data structure of the DataTable as an XML schema to the specified stream. 若要儲存資料表及其所有子代的結構描述,請將 writeHierarchy 參數設定為 trueTo save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

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

參數

stream
Stream Stream Stream Stream

XML 結構描述將寫入其中的資料流。The stream to which the XML schema will be written.

writeHierarchy
Boolean Boolean Boolean Boolean

如果為 true,就會寫入目前資料表及其所有子代的結構描述。If true, write the schema of the current table and all its descendants. 如果為 false (預設值),就只會寫入目前資料表的結構描述。If false (the default value), write the schema for the current table only.

備註

使用方法,即可將的架構DataTable寫入 XML 檔。 WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. 架構包括資料表、關聯和條件約束定義。The schema includes table, relation, and constraint definitions.

XML 架構是使用 XSD 標準撰寫的。The XML schema is written using the XSD standard.

若要將資料寫入 XML 檔,請使用WriteXml方法。To write the data to an XML document, use the WriteXml method.

一般來說, WriteXmlSchema方法只會寫入目前資料表的架構。Normally the WriteXmlSchema method writes the schema only for the current table. 若要寫入目前資料表及其整個子代(相關資料表)的架構,請呼叫方法writeHierarchy ,並將參數設定為。 trueTo write the schema for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

另請參閱

WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean) WriteXmlSchema(TextWriter, Boolean)

使用指定的 DataTable,將 TextWriter 目前的資料結構撰寫成 XML 結構描述。Writes the current data structure of the DataTable as an XML schema using the specified TextWriter. 若要儲存資料表及其所有子代的結構描述,請將 writeHierarchy 參數設定為 trueTo save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

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)

參數

writer
TextWriter TextWriter TextWriter TextWriter

要用來寫入的 TextWriterThe TextWriter with which to write.

writeHierarchy
Boolean Boolean Boolean Boolean

如果為 true,就會寫入目前資料表及其所有子代的結構描述。If true, write the schema of the current table and all its descendants. 如果為 false (預設值),就只會寫入目前資料表的結構描述。If false (the default value), write the schema for the current table only.

範例

下列主控台應用程式會建立DataTable兩個實例, DataSet並將每個實例DataRelation新增至、建立與這兩個數據表WriteXmlSchema相關的,然後使用方法將包含在父資料表中的資料寫入至TextWriter.The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXmlSchema method to write the data contained within the parent table to a TextWriter. 此範例會示範將writeHierarchy參數設定為其每個值時的行為。The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

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

此範例會在主控台視窗中顯示以下輸出:The example displays the following output in the console window:

==============================  
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>  

備註

使用方法,即可將的架構DataTable寫入 XML 檔。 WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. 架構包括資料表、關聯和條件約束定義。The schema includes table, relation, and constraint definitions.

XML 架構是使用 XSD 標準撰寫的。The XML schema is written using the XSD standard.

若要將資料寫入 XML 檔,請使用WriteXml方法。To write the data to an XML document, use the WriteXml method.

一般來說, WriteXmlSchema方法只會寫入目前資料表的架構。Normally the WriteXmlSchema method writes the schema only for the current table. 若要寫入目前資料表及其整個子代(相關資料表)的架構,請呼叫方法writeHierarchy ,並將參數設定為。 trueTo write the schema for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

另請參閱

WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean) WriteXmlSchema(XmlWriter, Boolean)

使用指定的 DataTable,將 XmlWriter 目前的資料結構撰寫成 XML 結構描述。Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter. 若要儲存資料表及其所有子代的結構描述,請將 writeHierarchy 參數設定為 trueTo save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

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)

參數

writer
XmlWriter XmlWriter XmlWriter XmlWriter

寫入文件所用的 XmlWriterThe XmlWriter used to write the document.

writeHierarchy
Boolean Boolean Boolean Boolean

如果為 true,就會寫入目前資料表及其所有子代的結構描述。If true, write the schema of the current table and all its descendants. 如果為 false (預設值),就只會寫入目前資料表的結構描述。If false (the default value), write the schema for the current table only.

備註

使用方法,即可將的架構DataTable寫入 XML 檔。 WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. 架構包括資料表、關聯和條件約束定義。The schema includes table, relation, and constraint definitions.

XML 架構是使用 XSD 標準撰寫的。The XML schema is written using the XSD standard.

若要將資料寫入 XML 檔,請使用WriteXml方法。To write the data to an XML document, use the WriteXml method.

一般來說, WriteXmlSchema方法只會寫入目前資料表的架構。Normally the WriteXmlSchema method writes the schema only for the current table. 若要寫入目前資料表及其整個子代(相關資料表)的架構,請呼叫方法writeHierarchy ,並將參數設定為。 trueTo write the schema for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

另請參閱

WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean) WriteXmlSchema(String, Boolean)

DataTable 目前的資料結構撰寫成 XML 結構描述,寫入至指定的檔案。Writes the current data structure of the DataTable as an XML schema to the specified file. 若要儲存資料表及其所有子代的結構描述,請將 writeHierarchy 參數設定為 trueTo save the schema for the table and all its descendants, set the writeHierarchy parameter to true.

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)

參數

fileName
String String String String

要使用的檔案名稱。The name of the file to use.

writeHierarchy
Boolean Boolean Boolean Boolean

如果為 true,就會寫入目前資料表及其所有子代的結構描述。If true, write the schema of the current table and all its descendants. 如果為 false (預設值),就只會寫入目前資料表的結構描述。If false (the default value), write the schema for the current table only.

備註

使用方法,即可將的架構DataTable寫入 XML 檔。 WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. 架構包括資料表、關聯和條件約束定義。The schema includes table, relation, and constraint definitions.

XML 架構是使用 XSD 標準撰寫的。The XML schema is written using the XSD standard.

若要將資料寫入 XML 檔,請使用WriteXml方法。To write the data to an XML document, use the WriteXml method.

一般來說, WriteXmlSchema方法只會寫入目前資料表的架構。Normally the WriteXmlSchema method writes the schema only for the current table. 若要寫入目前資料表及其整個子代(相關資料表)的架構,請呼叫方法writeHierarchy ,並將參數設定為。 trueTo write the schema for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

另請參閱

適用於