次の方法で共有


DataTable.WriteXmlSchema メソッド

定義

DataTable の現在のデータ構造体を XML スキーマとして書き込みます。

オーバーロード

WriteXmlSchema(Stream)

DataTable の現在のデータ構造体を指定されたストリームに XML スキーマとして書き込みます。

WriteXmlSchema(TextWriter)

指定した DataTable を使用して、TextWriter の現在のデータ構造体を XML スキーマとして書き込みます。

WriteXmlSchema(String)

DataTable の現在のデータ構造体を指定されたファイルに XML スキーマとして書き込みます。

WriteXmlSchema(XmlWriter)

指定した DataTable を使用して、XmlWriter の現在のデータ構造体を XML スキーマとして書き込みます。

WriteXmlSchema(Stream, Boolean)

DataTable の現在のデータ構造体を指定されたストリームに XML スキーマとして書き込みます。 テーブルのスキーマとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。

WriteXmlSchema(TextWriter, Boolean)

指定した DataTable を使用して、TextWriter の現在のデータ構造体を XML スキーマとして書き込みます。 テーブルのスキーマとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。

WriteXmlSchema(XmlWriter, Boolean)

指定した DataTable を使用して、XmlWriter の現在のデータ構造体を XML スキーマとして書き込みます。 テーブルのスキーマとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。

WriteXmlSchema(String, Boolean)

DataTable の現在のデータ構造体を指定されたファイルに XML スキーマとして書き込みます。 テーブルのスキーマとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。

次のコンソール アプリケーションでは、2 つの DataTable インスタンスを作成し、それぞれ を に DataSet追加し、2 つのテーブルに関連する を作成 DataRelation し、 メソッドを WriteXmlSchema 使用して親テーブルに含まれるデータを に TextWriter書き込みます。 この例では、 パラメーターを各値に writeHierarchy 設定するときの動作を示します。

注意

この例では、 のオーバーロードされたバージョンの 1 つを使用する方法を示します。使用可能なその他の WriteXmlSchema 例については、個々のオーバーロードに関するトピックを参照してください。

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

この例では、次の出力がコンソール ウィンドウに表示されます。

==============================
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 ドキュメントに書き込みます。 スキーマには、テーブル、リレーションシップ、制約の定義が含まれます。

XML スキーマは、XSD 標準を使用して記述されます。

XML ドキュメントにデータを書き込むには、 メソッドを使用します WriteXml

WriteXmlSchema(Stream)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

DataTable の現在のデータ構造体を指定されたストリームに XML スキーマとして書き込みます。

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)

パラメーター

stream
Stream

XML スキーマが書き込まれるストリーム。

注釈

メソッドを WriteXmlSchema 使用して、 のスキーマを DataTable XML ドキュメントに書き込みます。 スキーマには、テーブル、リレーションシップ、制約の定義が含まれます。

XML スキーマは、XSD 標準を使用して記述されます。

XML ドキュメントにデータを書き込むには、 メソッドを使用します WriteXml

こちらもご覧ください

適用対象

WriteXmlSchema(TextWriter)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

指定した DataTable を使用して、TextWriter の現在のデータ構造体を XML スキーマとして書き込みます。

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)

パラメーター

writer
TextWriter

書き込みに使用する TextWriter

注釈

メソッドを WriteXmlSchema 使用して、 のスキーマを DataTable XML ドキュメントに書き込みます。 スキーマには、テーブル、リレーションシップ、制約の定義が含まれます。

XML スキーマは、XSD 標準を使用して記述されます。

XML ドキュメントにデータを書き込むには、 メソッドを使用します WriteXml

こちらもご覧ください

適用対象

WriteXmlSchema(String)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

DataTable の現在のデータ構造体を指定されたファイルに XML スキーマとして書き込みます。

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

パラメーター

fileName
String

使用するファイルの名前。

注釈

メソッドを WriteXmlSchema 使用して、 のスキーマを DataTable XML ドキュメントに書き込みます。 スキーマには、テーブル、リレーションシップ、制約の定義が含まれます。

XML スキーマは、XSD 標準を使用して記述されます。

XML ドキュメントにデータを書き込むには、 メソッドを使用します WriteXml

こちらもご覧ください

適用対象

WriteXmlSchema(XmlWriter)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

指定した DataTable を使用して、XmlWriter の現在のデータ構造体を XML スキーマとして書き込みます。

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)

パラメーター

writer
XmlWriter

使用する XmlWriter

注釈

メソッドを WriteXmlSchema 使用して、 のスキーマを DataTable XML ドキュメントに書き込みます。 スキーマには、テーブル、リレーションシップ、制約の定義が含まれます。

XML スキーマは、XSD 標準を使用して記述されます。

XML ドキュメントにデータを書き込むには、 メソッドを使用します WriteXml

こちらもご覧ください

適用対象

WriteXmlSchema(Stream, Boolean)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

DataTable の現在のデータ構造体を指定されたストリームに XML スキーマとして書き込みます。 テーブルのスキーマとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。

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)

パラメーター

stream
Stream

XML スキーマが書き込まれるストリーム。

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫のスキーマを書き込みます。 false (既定値) の場合は、現在のテーブルのスキーマのみを書き込みます。

注釈

メソッドを WriteXmlSchema 使用して、 のスキーマを DataTable XML ドキュメントに書き込みます。 スキーマには、テーブル、リレーションシップ、制約の定義が含まれます。

XML スキーマは、XSD 標準を使用して記述されます。

XML ドキュメントにデータを書き込むには、 メソッドを使用します WriteXml

通常、 メソッドは WriteXmlSchema 現在のテーブルに対してのみスキーマを書き込みます。 現在のテーブルとその子孫の関連テーブル全体のスキーマを書き込むには、 パラメーターを に設定して メソッドをwriteHierarchytrue呼び出します。

こちらもご覧ください

適用対象

WriteXmlSchema(TextWriter, Boolean)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

指定した DataTable を使用して、TextWriter の現在のデータ構造体を XML スキーマとして書き込みます。 テーブルのスキーマとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。

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)

パラメーター

writer
TextWriter

書き込みに使用する TextWriter

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫のスキーマを書き込みます。 false (既定値) の場合は、現在のテーブルのスキーマのみを書き込みます。

次のコンソール アプリケーションでは、2 つの DataTable インスタンスを作成し、それぞれ を に DataSet追加し、2 つのテーブルに関連する を作成 DataRelation し、 メソッドを WriteXmlSchema 使用して親テーブルに含まれるデータを に TextWriter書き込みます。 この例では、 パラメーターを各値に writeHierarchy 設定するときの動作を示します。

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

この例では、次の出力がコンソール ウィンドウに表示されます。

==============================
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 ドキュメントに書き込みます。 スキーマには、テーブル、リレーションシップ、制約の定義が含まれます。

XML スキーマは、XSD 標準を使用して記述されます。

XML ドキュメントにデータを書き込むには、 メソッドを使用します WriteXml

通常、 メソッドは WriteXmlSchema 現在のテーブルに対してのみスキーマを書き込みます。 現在のテーブルとその子孫の関連テーブル全体のスキーマを書き込むには、 パラメーターを に設定して メソッドをwriteHierarchytrue呼び出します。

こちらもご覧ください

適用対象

WriteXmlSchema(XmlWriter, Boolean)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

指定した DataTable を使用して、XmlWriter の現在のデータ構造体を XML スキーマとして書き込みます。 テーブルのスキーマとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。

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)

パラメーター

writer
XmlWriter

ドキュメントを書き込むために使用する XmlWriter

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫のスキーマを書き込みます。 false (既定値) の場合は、現在のテーブルのスキーマのみを書き込みます。

注釈

メソッドを WriteXmlSchema 使用して、 のスキーマを DataTable XML ドキュメントに書き込みます。 スキーマには、テーブル、リレーションシップ、制約の定義が含まれます。

XML スキーマは、XSD 標準を使用して記述されます。

XML ドキュメントにデータを書き込むには、 メソッドを使用します WriteXml

通常、 メソッドは WriteXmlSchema 現在のテーブルに対してのみスキーマを書き込みます。 現在のテーブルとその子孫の関連テーブル全体のスキーマを書き込むには、 パラメーターを に設定して メソッドをwriteHierarchytrue呼び出します。

こちらもご覧ください

適用対象

WriteXmlSchema(String, Boolean)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

DataTable の現在のデータ構造体を指定されたファイルに XML スキーマとして書き込みます。 テーブルのスキーマとその子孫をすべて保存するには、writeHierarchy パラメーターを 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

使用するファイルの名前。

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫のスキーマを書き込みます。 false (既定値) の場合は、現在のテーブルのスキーマのみを書き込みます。

注釈

メソッドを WriteXmlSchema 使用して、 のスキーマを DataTable XML ドキュメントに書き込みます。 スキーマには、テーブル、リレーションシップ、制約の定義が含まれます。

XML スキーマは、XSD 標準を使用して記述されます。

XML ドキュメントにデータを書き込むには、 メソッドを使用します WriteXml

通常、 メソッドは WriteXmlSchema 現在のテーブルに対してのみスキーマを書き込みます。 現在のテーブルとその子孫の関連テーブル全体のスキーマを書き込むには、 パラメーターを に設定して メソッドをwriteHierarchytrue呼び出します。

こちらもご覧ください

適用対象