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 매개 변수를 true로 설정합니다.To 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 매개 변수를 true로 설정합니다.To 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 매개 변수를 true로 설정합니다.To 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 매개 변수를 true로 설정합니다.To 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>  

설명

사용 합니다 WriteXmlSchema 에 대 한 스키마를 작성 하는 메서드를 DataTable XML 문서에 합니다.Use 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.

설명

사용 합니다 WriteXmlSchema 에 대 한 스키마를 작성 하는 메서드를 DataTable XML 문서에 합니다.Use 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

쓰기에 사용할 TextWriter입니다.The TextWriter with which to write.

설명

사용 합니다 WriteXmlSchema 에 대 한 스키마를 작성 하는 메서드를 DataTable XML 문서에 합니다.Use 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.

설명

사용 합니다 WriteXmlSchema 에 대 한 스키마를 작성 하는 메서드를 DataTable XML 문서에 합니다.Use 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

사용할 XmlWriter입니다.The XmlWriter to use.

설명

사용 합니다 WriteXmlSchema 에 대 한 스키마를 작성 하는 메서드를 DataTable XML 문서에 합니다.Use 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 매개 변수를 true로 설정합니다.To 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.

설명

사용 합니다 WriteXmlSchema 에 대 한 스키마를 작성 하는 메서드를 DataTable XML 문서에 합니다.Use 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 매개 변수 설정 true합니다.To 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 매개 변수를 true로 설정합니다.To 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

쓰기에 사용할 TextWriter입니다.The 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>  

설명

사용 합니다 WriteXmlSchema 에 대 한 스키마를 작성 하는 메서드를 DataTable XML 문서에 합니다.Use 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 매개 변수 설정 true합니다.To 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 매개 변수를 true로 설정합니다.To 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

문서를 쓰는 데 사용되는 XmlWriter입니다.The 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.

설명

사용 합니다 WriteXmlSchema 에 대 한 스키마를 작성 하는 메서드를 DataTable XML 문서에 합니다.Use 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 매개 변수 설정 true합니다.To 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 매개 변수를 true로 설정합니다.To 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.

설명

사용 합니다 WriteXmlSchema 에 대 한 스키마를 작성 하는 메서드를 DataTable XML 문서에 합니다.Use 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 매개 변수 설정 true합니다.To write the schema for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

추가 정보

적용 대상