DataTable.WriteXmlSchema Метод

Определение

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы.Writes the current data structure of the DataTable as an XML schema.

Перегрузки

WriteXmlSchema(Stream)

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы в указанный поток.Writes the current data structure of the DataTable as an XML schema to the specified stream.

WriteXmlSchema(TextWriter)

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы, используя указанный класс TextWriter.Writes the current data structure of the DataTable as an XML schema using the specified TextWriter.

WriteXmlSchema(String)

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы в указанный файл.Writes the current data structure of the DataTable as an XML schema to the specified file.

WriteXmlSchema(XmlWriter)

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы, используя указанный класс XmlWriter.Writes the current data structure of the DataTable as an XML schema using the specified XmlWriter.

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)

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы, используя указанный класс TextWriter.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)

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы, используя указанный класс XmlWriter.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)

Записывает текущую структуру данных таблицы 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>  

Комментарии

Используйте метод для записи схемы DataTable для в XML-документ. WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. Схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Схема XML написана с использованием стандарта XSD.The XML schema is written using the XSD standard.

Чтобы записать данные в XML-документ, используйте WriteXml метод.To write the data to an XML document, use the WriteXml method.

WriteXmlSchema(Stream)

Записывает текущую структуру данных таблицы 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

Поток, в который записывается XML-схема.The stream to which the XML schema will be written.

Комментарии

Используйте метод для записи схемы DataTable для в XML-документ. WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. Схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Схема XML написана с использованием стандарта XSD.The XML schema is written using the XSD standard.

Чтобы записать данные в XML-документ, используйте WriteXml метод.To write the data to an XML document, use the WriteXml method.

Дополнительно

WriteXmlSchema(TextWriter)

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы, используя указанный класс TextWriter.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, с помощью которого осуществляется запись.The TextWriter with which to write.

Комментарии

Используйте метод для записи схемы DataTable для в XML-документ. WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. Схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Схема XML написана с использованием стандарта XSD.The XML schema is written using the XSD standard.

Чтобы записать данные в XML-документ, используйте WriteXml метод.To write the data to an XML document, use the WriteXml method.

Дополнительно

WriteXmlSchema(String)

Записывает текущую структуру данных таблицы 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

Имя используемого файла.The name of the file to use.

Комментарии

Используйте метод для записи схемы DataTable для в XML-документ. WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. Схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Схема XML написана с использованием стандарта XSD.The XML schema is written using the XSD standard.

Чтобы записать данные в XML-документ, используйте WriteXml метод.To write the data to an XML document, use the WriteXml method.

Дополнительно

WriteXmlSchema(XmlWriter)

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы, используя указанный класс XmlWriter.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.The XmlWriter to use.

Комментарии

Используйте метод для записи схемы DataTable для в XML-документ. WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. Схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Схема XML написана с использованием стандарта XSD.The XML schema is written using the XSD standard.

Чтобы записать данные в XML-документ, используйте WriteXml метод.To write the data to an XML document, use the WriteXml method.

Дополнительно

WriteXmlSchema(Stream, Boolean)

Записывает текущую структуру данных таблицы 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

Поток, в который записывается XML-схема.The stream to which the XML schema will be written.

writeHierarchy
Boolean

Если значение равно true, записывает схему текущей таблицы и всех ее потомков.If true, write the schema of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает схему только для текущей таблицы.If false (the default value), write the schema for the current table only.

Комментарии

Используйте метод для записи схемы DataTable для в XML-документ. WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. Схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Схема XML написана с использованием стандарта XSD.The XML schema is written using the XSD standard.

Чтобы записать данные в XML-документ, используйте WriteXml метод.To write the data to an XML document, use the WriteXml method.

WriteXmlSchema Обычно метод записывает схему только для текущей таблицы.Normally the WriteXmlSchema method writes the schema only for the current table. Чтобы записать схему для текущей таблицы и ее всех потомков, связанных таблиц, вызовите метод с параметром writeHierarchy , для 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)

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы, используя указанный класс TextWriter.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, с помощью которого осуществляется запись.The TextWriter with which to write.

writeHierarchy
Boolean

Если значение равно true, записывает схему текущей таблицы и всех ее потомков.If true, write the schema of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает схему только для текущей таблицы.If false (the default value), write the schema for the current table only.

Примеры

Следующее консольное приложение создает два DataTable экземпляра, добавляет каждый DataSetв, создает объект DataRelation , связывающий две таблицы, а затем использует WriteXmlSchema метод для записи данных, содержащихся в родительской таблице, в TextWriter.The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXmlSchema method to write the data contained within the parent table to a TextWriter. В примере демонстрируется поведение при установке writeHierarchy параметра для каждого из его значений.The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В этом примере в окне консоли отображаются следующие выходные данные:The example displays the following output in the console window:

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

Комментарии

Используйте метод для записи схемы DataTable для в XML-документ. WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. Схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Схема XML написана с использованием стандарта XSD.The XML schema is written using the XSD standard.

Чтобы записать данные в XML-документ, используйте WriteXml метод.To write the data to an XML document, use the WriteXml method.

WriteXmlSchema Обычно метод записывает схему только для текущей таблицы.Normally the WriteXmlSchema method writes the schema only for the current table. Чтобы записать схему для текущей таблицы и ее всех потомков, связанных таблиц, вызовите метод с параметром writeHierarchy , для 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)

Записывает текущую структуру данных таблицы DataTable в виде XML-схемы, используя указанный класс XmlWriter.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, используемый для записи документа.The XmlWriter used to write the document.

writeHierarchy
Boolean

Если значение равно true, записывает схему текущей таблицы и всех ее потомков.If true, write the schema of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает схему только для текущей таблицы.If false (the default value), write the schema for the current table only.

Комментарии

Используйте метод для записи схемы DataTable для в XML-документ. WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. Схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Схема XML написана с использованием стандарта XSD.The XML schema is written using the XSD standard.

Чтобы записать данные в XML-документ, используйте WriteXml метод.To write the data to an XML document, use the WriteXml method.

WriteXmlSchema Обычно метод записывает схему только для текущей таблицы.Normally the WriteXmlSchema method writes the schema only for the current table. Чтобы записать схему для текущей таблицы и ее всех потомков, связанных таблиц, вызовите метод с параметром writeHierarchy , для 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)

Записывает текущую структуру данных таблицы 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

Имя используемого файла.The name of the file to use.

writeHierarchy
Boolean

Если значение равно true, записывает схему текущей таблицы и всех ее потомков.If true, write the schema of the current table and all its descendants. Если значение равно false (значение по умолчанию), записывает схему только для текущей таблицы.If false (the default value), write the schema for the current table only.

Комментарии

Используйте метод для записи схемы DataTable для в XML-документ. WriteXmlSchemaUse the WriteXmlSchema method to write the schema for a DataTable to an XML document. Схема включает определения таблиц, связей и ограничений.The schema includes table, relation, and constraint definitions.

Схема XML написана с использованием стандарта XSD.The XML schema is written using the XSD standard.

Чтобы записать данные в XML-документ, используйте WriteXml метод.To write the data to an XML document, use the WriteXml method.

WriteXmlSchema Обычно метод записывает схему только для текущей таблицы.Normally the WriteXmlSchema method writes the schema only for the current table. Чтобы записать схему для текущей таблицы и ее всех потомков, связанных таблиц, вызовите метод с параметром writeHierarchy , для 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.

Дополнительно

Применяется к