DataTable.WriteXmlSchema Yöntem

Tanım

öğesinin geçerli veri yapısını DataTable XML şeması olarak yazar.

Aşırı Yüklemeler

Name Description
WriteXmlSchema(Stream)

öğesinin geçerli veri yapısını DataTable belirtilen akışa XML şeması olarak yazar.

WriteXmlSchema(TextWriter)

öğesinin geçerli veri yapısını DataTable belirtilen TextWriterkullanarak xml şeması olarak yazar.

WriteXmlSchema(String)

öğesinin geçerli veri yapısını DataTable belirtilen dosyaya XML şeması olarak yazar.

WriteXmlSchema(XmlWriter)

öğesinin geçerli veri yapısını DataTable belirtilen XmlWriterkullanarak xml şeması olarak yazar.

WriteXmlSchema(Stream, Boolean)

öğesinin geçerli veri yapısını DataTable belirtilen akışa XML şeması olarak yazar. Tablo ve tüm alt öğeleri için şemayı kaydetmek için parametresini writeHierarchy olarak trueayarlayın.

WriteXmlSchema(TextWriter, Boolean)

öğesinin geçerli veri yapısını DataTable belirtilen TextWriterkullanarak xml şeması olarak yazar. Tablo ve tüm alt öğeleri için şemayı kaydetmek için parametresini writeHierarchy olarak trueayarlayın.

WriteXmlSchema(XmlWriter, Boolean)

öğesinin geçerli veri yapısını DataTable belirtilen XmlWriterkullanarak xml şeması olarak yazar. Tablo ve tüm alt öğeleri için şemayı kaydetmek için parametresini writeHierarchy olarak trueayarlayın.

WriteXmlSchema(String, Boolean)

öğesinin geçerli veri yapısını DataTable belirtilen dosyaya XML şeması olarak yazar. Tablo ve tüm alt öğeleri için şemayı kaydetmek için parametresini writeHierarchy olarak trueayarlayın.

Örnekler

Aşağıdaki konsol uygulaması iki DataTable örnek oluşturur, her birini öğesine DataSetekler, iki tabloyla ilgili bir DataRelation oluşturur ve ardından üst tablonun içinde yer alan verileri öğesine WriteXmlSchemayazmak için yöntemini kullanırTextWriter. Örnek, parametresini değerlerinin her birine ayarlarken oluşan writeHierarchy davranışı gösterir.

Note

Bu örnekte, uygulamasının aşırı yüklenmiş sürümlerinden WriteXmlSchema birinin nasıl kullanılacağı gösterilmektedir. Kullanılabilir olabilecek diğer örnekler için tek tek aşırı yükleme konularına bakın.

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

Örnek, konsol penceresinde aşağıdaki çıkışı görüntüler:

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

Açıklamalar

WriteXmlSchema bir XML belgesine için şema yazmak için DataTable yöntemini kullanın. Şema tablo, ilişki ve kısıtlama tanımlarını içerir.

XML şeması XSD standardı kullanılarak yazılır.

Verileri bir XML belgesine yazmak için yöntemini kullanın WriteXml .

WriteXmlSchema(Stream)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

öğesinin geçerli veri yapısını DataTable belirtilen akışa XML şeması olarak yazar.

public:
 void WriteXmlSchema(System::IO::Stream ^ stream);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.IO.Stream? stream);
public void WriteXmlSchema(System.IO.Stream? stream);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.IO.Stream? stream);
public void WriteXmlSchema(System.IO.Stream stream);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.IO.Stream -> unit
member this.WriteXmlSchema : System.IO.Stream -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.IO.Stream -> unit
Public Sub WriteXmlSchema (stream As Stream)

Parametreler

stream
Stream

XML şemasının yazılacağı akış.

Öznitelikler

Açıklamalar

WriteXmlSchema bir XML belgesine için şema yazmak için DataTable yöntemini kullanın. Şema tablo, ilişki ve kısıtlama tanımlarını içerir.

XML şeması XSD standardı kullanılarak yazılır.

Verileri bir XML belgesine yazmak için yöntemini kullanın WriteXml .

Ayrıca bkz.

Şunlara uygulanır

WriteXmlSchema(TextWriter)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

öğesinin geçerli veri yapısını DataTable belirtilen TextWriterkullanarak xml şeması olarak yazar.

public:
 void WriteXmlSchema(System::IO::TextWriter ^ writer);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.IO.TextWriter? writer);
public void WriteXmlSchema(System.IO.TextWriter? writer);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.IO.TextWriter? writer);
public void WriteXmlSchema(System.IO.TextWriter writer);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.IO.TextWriter -> unit
member this.WriteXmlSchema : System.IO.TextWriter -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.IO.TextWriter -> unit
Public Sub WriteXmlSchema (writer As TextWriter)

Parametreler

writer
TextWriter

TextWriter Yazacakları.

Öznitelikler

Açıklamalar

WriteXmlSchema bir XML belgesine için şema yazmak için DataTable yöntemini kullanın. Şema tablo, ilişki ve kısıtlama tanımlarını içerir.

XML şeması XSD standardı kullanılarak yazılır.

Verileri bir XML belgesine yazmak için yöntemini kullanın WriteXml .

Ayrıca bkz.

Şunlara uygulanır

WriteXmlSchema(String)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

öğesinin geçerli veri yapısını DataTable belirtilen dosyaya XML şeması olarak yazar.

public:
 void WriteXmlSchema(System::String ^ fileName);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(string fileName);
public void WriteXmlSchema(string fileName);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(string fileName);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : string -> unit
member this.WriteXmlSchema : string -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : string -> unit
Public Sub WriteXmlSchema (fileName As String)

Parametreler

fileName
String

Kullanılacak dosyanın adı.

Öznitelikler

Açıklamalar

WriteXmlSchema bir XML belgesine için şema yazmak için DataTable yöntemini kullanın. Şema tablo, ilişki ve kısıtlama tanımlarını içerir.

XML şeması XSD standardı kullanılarak yazılır.

Verileri bir XML belgesine yazmak için yöntemini kullanın WriteXml .

Ayrıca bkz.

Şunlara uygulanır

WriteXmlSchema(XmlWriter)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

öğesinin geçerli veri yapısını DataTable belirtilen XmlWriterkullanarak xml şeması olarak yazar.

public:
 void WriteXmlSchema(System::Xml::XmlWriter ^ writer);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.Xml.XmlWriter? writer);
public void WriteXmlSchema(System.Xml.XmlWriter? writer);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.Xml.XmlWriter? writer);
public void WriteXmlSchema(System.Xml.XmlWriter writer);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.Xml.XmlWriter -> unit
member this.WriteXmlSchema : System.Xml.XmlWriter -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.Xml.XmlWriter -> unit
Public Sub WriteXmlSchema (writer As XmlWriter)

Parametreler

writer
XmlWriter

XmlWriter Kullanılacak.

Öznitelikler

Açıklamalar

WriteXmlSchema bir XML belgesine için şema yazmak için DataTable yöntemini kullanın. Şema tablo, ilişki ve kısıtlama tanımlarını içerir.

XML şeması XSD standardı kullanılarak yazılır.

Verileri bir XML belgesine yazmak için yöntemini kullanın WriteXml .

Ayrıca bkz.

Şunlara uygulanır

WriteXmlSchema(Stream, Boolean)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

öğesinin geçerli veri yapısını DataTable belirtilen akışa XML şeması olarak yazar. Tablo ve tüm alt öğeleri için şemayı kaydetmek için parametresini writeHierarchy olarak trueayarlayın.

public:
 void WriteXmlSchema(System::IO::Stream ^ stream, bool writeHierarchy);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.IO.Stream? stream, bool writeHierarchy);
public void WriteXmlSchema(System.IO.Stream? stream, bool writeHierarchy);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.IO.Stream? stream, bool writeHierarchy);
public void WriteXmlSchema(System.IO.Stream stream, bool writeHierarchy);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.IO.Stream * bool -> unit
member this.WriteXmlSchema : System.IO.Stream * bool -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.IO.Stream * bool -> unit
Public Sub WriteXmlSchema (stream As Stream, writeHierarchy As Boolean)

Parametreler

stream
Stream

XML şemasının yazılacağı akış.

writeHierarchy
Boolean

ise true, geçerli tablonun ve tüm alt öğelerine ait şemayı yazın. (varsayılan değer) ise false , yalnızca geçerli tablo için şemayı yazın.

Öznitelikler

Açıklamalar

WriteXmlSchema bir XML belgesine için şema yazmak için DataTable yöntemini kullanın. Şema tablo, ilişki ve kısıtlama tanımlarını içerir.

XML şeması XSD standardı kullanılarak yazılır.

Verileri bir XML belgesine yazmak için yöntemini kullanın WriteXml .

Normalde WriteXmlSchema yöntemi şemayı yalnızca geçerli tablo için yazar. Geçerli tablonun şemasını ve tüm alt ve ilişkili tablolarını yazmak için parametresi olarak ayarlanmış writeHierarchyyöntemini true çağırın.

Ayrıca bkz.

Şunlara uygulanır

WriteXmlSchema(TextWriter, Boolean)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

öğesinin geçerli veri yapısını DataTable belirtilen TextWriterkullanarak xml şeması olarak yazar. Tablo ve tüm alt öğeleri için şemayı kaydetmek için parametresini writeHierarchy olarak trueayarlayın.

public:
 void WriteXmlSchema(System::IO::TextWriter ^ writer, bool writeHierarchy);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.IO.TextWriter? writer, bool writeHierarchy);
public void WriteXmlSchema(System.IO.TextWriter? writer, bool writeHierarchy);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.IO.TextWriter? writer, bool writeHierarchy);
public void WriteXmlSchema(System.IO.TextWriter writer, bool writeHierarchy);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.IO.TextWriter * bool -> unit
member this.WriteXmlSchema : System.IO.TextWriter * bool -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.IO.TextWriter * bool -> unit
Public Sub WriteXmlSchema (writer As TextWriter, writeHierarchy As Boolean)

Parametreler

writer
TextWriter

TextWriter Yazacakları.

writeHierarchy
Boolean

ise true, geçerli tablonun ve tüm alt öğelerine ait şemayı yazın. (varsayılan değer) ise false , yalnızca geçerli tablo için şemayı yazın.

Öznitelikler

Örnekler

Aşağıdaki konsol uygulaması iki DataTable örnek oluşturur, her birini öğesine DataSetekler, iki tabloyla ilgili bir DataRelation oluşturur ve ardından üst tablonun içinde yer alan verileri öğesine WriteXmlSchemayazmak için yöntemini kullanırTextWriter. Örnek, parametresini değerlerinin her birine ayarlarken oluşan writeHierarchy davranışı gösterir.

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

Örnek, konsol penceresinde aşağıdaki çıkışı görüntüler:

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

Açıklamalar

WriteXmlSchema bir XML belgesine için şema yazmak için DataTable yöntemini kullanın. Şema tablo, ilişki ve kısıtlama tanımlarını içerir.

XML şeması XSD standardı kullanılarak yazılır.

Verileri bir XML belgesine yazmak için yöntemini kullanın WriteXml .

Normalde WriteXmlSchema yöntemi şemayı yalnızca geçerli tablo için yazar. Geçerli tablonun şemasını ve tüm alt ve ilişkili tablolarını yazmak için parametresi olarak ayarlanmış writeHierarchyyöntemini true çağırın.

Ayrıca bkz.

Şunlara uygulanır

WriteXmlSchema(XmlWriter, Boolean)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

öğesinin geçerli veri yapısını DataTable belirtilen XmlWriterkullanarak xml şeması olarak yazar. Tablo ve tüm alt öğeleri için şemayı kaydetmek için parametresini writeHierarchy olarak trueayarlayın.

public:
 void WriteXmlSchema(System::Xml::XmlWriter ^ writer, bool writeHierarchy);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.Xml.XmlWriter? writer, bool writeHierarchy);
public void WriteXmlSchema(System.Xml.XmlWriter? writer, bool writeHierarchy);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(System.Xml.XmlWriter? writer, bool writeHierarchy);
public void WriteXmlSchema(System.Xml.XmlWriter writer, bool writeHierarchy);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.Xml.XmlWriter * bool -> unit
member this.WriteXmlSchema : System.Xml.XmlWriter * bool -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : System.Xml.XmlWriter * bool -> unit
Public Sub WriteXmlSchema (writer As XmlWriter, writeHierarchy As Boolean)

Parametreler

writer
XmlWriter

XmlWriter Belgeyi yazmak için kullanılan.

writeHierarchy
Boolean

ise true, geçerli tablonun ve tüm alt öğelerine ait şemayı yazın. (varsayılan değer) ise false , yalnızca geçerli tablo için şemayı yazın.

Öznitelikler

Açıklamalar

WriteXmlSchema bir XML belgesine için şema yazmak için DataTable yöntemini kullanın. Şema tablo, ilişki ve kısıtlama tanımlarını içerir.

XML şeması XSD standardı kullanılarak yazılır.

Verileri bir XML belgesine yazmak için yöntemini kullanın WriteXml .

Normalde WriteXmlSchema yöntemi şemayı yalnızca geçerli tablo için yazar. Geçerli tablonun şemasını ve tüm alt ve ilişkili tablolarını yazmak için parametresi olarak ayarlanmış writeHierarchyyöntemini true çağırın.

Ayrıca bkz.

Şunlara uygulanır

WriteXmlSchema(String, Boolean)

Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs
Kaynak:
DataTable.cs

öğesinin geçerli veri yapısını DataTable belirtilen dosyaya XML şeması olarak yazar. Tablo ve tüm alt öğeleri için şemayı kaydetmek için parametresini writeHierarchy olarak trueayarlayın.

public:
 void WriteXmlSchema(System::String ^ fileName, bool writeHierarchy);
[System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")]
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(string fileName, bool writeHierarchy);
public void WriteXmlSchema(string fileName, bool writeHierarchy);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")]
public void WriteXmlSchema(string fileName, bool writeHierarchy);
[<System.Diagnostics.CodeAnalysis.RequiresDynamicCode("Members from serialized types may use dynamic code generation.")>]
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : string * bool -> unit
member this.WriteXmlSchema : string * bool -> unit
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Members from serialized types may be trimmed if not referenced directly.")>]
member this.WriteXmlSchema : string * bool -> unit
Public Sub WriteXmlSchema (fileName As String, writeHierarchy As Boolean)

Parametreler

fileName
String

Kullanılacak dosyanın adı.

writeHierarchy
Boolean

ise true, geçerli tablonun ve tüm alt öğelerine ait şemayı yazın. (varsayılan değer) ise false , yalnızca geçerli tablo için şemayı yazın.

Öznitelikler

Açıklamalar

WriteXmlSchema bir XML belgesine için şema yazmak için DataTable yöntemini kullanın. Şema tablo, ilişki ve kısıtlama tanımlarını içerir.

XML şeması XSD standardı kullanılarak yazılır.

Verileri bir XML belgesine yazmak için yöntemini kullanın WriteXml .

Normalde WriteXmlSchema yöntemi şemayı yalnızca geçerli tablo için yazar. Geçerli tablonun şemasını ve tüm alt ve ilişkili tablolarını yazmak için parametresi olarak ayarlanmış writeHierarchyyöntemini true çağırın.

Ayrıca bkz.

Şunlara uygulanır