DataTable.WriteXml Metoda

Definicja

Zapisuje bieżącą zawartość DataTable jako XML.Writes the current contents of the DataTable as XML.

Przeciążenia

WriteXml(TextWriter, Boolean)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego TextWriter.Writes the current contents of the DataTable as XML using the specified TextWriter. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(TextWriter, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonych TextWriter i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(String, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonego pliku i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(Stream, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable do określonego pliku przy użyciu określonego XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(XmlWriter, Boolean)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego XmlWriter.Writes the current contents of the DataTable as XML using the specified XmlWriter.

WriteXml(XmlWriter, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonych XmlWriter i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(Stream, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable do określonego pliku przy użyciu określonego XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(TextWriter, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonych TextWriter i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(String, Boolean)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego pliku.Writes the current contents of the DataTable as XML using the specified file. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(Stream, Boolean)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego Stream.Writes the current contents of the DataTable as XML using the specified Stream. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonych XmlWriter i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(String)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego pliku.Writes the current contents of the DataTable as XML using the specified file.

WriteXml(TextWriter)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego TextWriter.Writes the current contents of the DataTable as XML using the specified TextWriter.

WriteXml(Stream)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego Stream.Writes the current contents of the DataTable as XML using the specified Stream.

WriteXml(String, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonego pliku i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(XmlWriter)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego XmlWriter.Writes the current contents of the DataTable as XML using the specified XmlWriter.

Przykłady

Następująca aplikacja konsolowa tworzy dwa wystąpienia DataTable, dodaje każdy do DataSet, tworzy DataRelation odnoszące się do dwóch tabel, a następnie używa metody WriteXml do zapisywania danych zawartych w tabeli nadrzędnej do 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 WriteXml method to write the data contained within the parent table to a TextWriter. W przykładzie pokazano zachowanie podczas ustawiania parametru writeHierarchy dla każdej wartości.The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

Uwaga

Ten przykład pokazuje, jak używać jednej ze przeciążonych wersji programu WriteXml.This example shows how to use one of the overloaded versions of WriteXml. Inne przykłady, które mogą być dostępne, można znaleźć w tematach dotyczących poszczególnych przeciążeń.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.WriteXml(writer, XmlWriteMode.WriteSchema, false);
    PrintOutput(writer, "Customer table, without hierarchy");

    writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, 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.WriteXml(writer, XmlWriteMode.WriteSchema, False)
  PrintOutput(writer, "Customer table, without hierarchy")

  writer = New System.IO.StringWriter
  customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, 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

W przykładzie są wyświetlane następujące dane wyjściowe w oknie konsoli:The example displays the following output in the console window:

==============================  
Customer table, without hierarchy  
==============================  
<NewDataSet>  
  <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:choice>  
      </xs:complexType>  
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">  
        <xs:selector xpath=".//Table1" />  
        <xs:field xpath="ID" />  
      </xs:unique>  
    </xs:element>  
  </xs:schema>  
  <Table1>  
    <ID>1</ID>  
    <Name>Mary</Name>  
  </Table1>  
  <Table1>  
    <ID>2</ID>  
    <Name>Andy</Name>  
  </Table1>  
  <Table1>  
    <ID>3</ID>  
    <Name>Peter</Name>  
  </Table1>  
  <Table1>  
    <ID>4</ID>  
    <Name>Russ</Name>  
  </Table1>  
</NewDataSet>  
==============================  
Customer table, with hierarchy  
==============================  
<NewDataSet>  
  <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" m  
sdata: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>  
  <Table1>  
    <ID>1</ID>  
    <Name>Mary</Name>  
  </Table1>  
  <Table1>  
    <ID>2</ID>  
    <Name>Andy</Name>  
  </Table1>  
  <Table1>  
    <ID>3</ID>  
    <Name>Peter</Name>  
  </Table1>  
  <Table1>  
    <ID>4</ID>  
    <Name>Russ</Name>  
  </Table1>  
  <Table2>  
    <OrderID>1</OrderID>  
    <CustomerID>1</CustomerID>  
    <OrderDate>2003-12-02T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>2</OrderID>  
    <CustomerID>1</CustomerID>  
    <OrderDate>2004-01-03T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>3</OrderID>  
    <CustomerID>2</CustomerID>  
    <OrderDate>2004-11-13T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>4</OrderID>  
    <CustomerID>3</CustomerID>  
    <OrderDate>2004-05-16T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>5</OrderID>  
    <CustomerID>3</CustomerID>  
    <OrderDate>2004-05-22T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>6</OrderID>  
    <CustomerID>4</CustomerID>  
    <OrderDate>2004-06-15T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
</NewDataSet>  

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawierają parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

WriteXml(TextWriter, Boolean)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego TextWriter.Writes the current contents of the DataTable as XML using the specified TextWriter. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::IO::TextWriter ^ writer, bool writeHierarchy);
public void WriteXml (System.IO.TextWriter writer, bool writeHierarchy);
member this.WriteXml : System.IO.TextWriter * bool -> unit
Public Sub WriteXml (writer As TextWriter, writeHierarchy As Boolean)

Parametry

writer
TextWriter

TextWriter, z którym ma zostać napisana zawartość.The TextWriter with which to write the content.

writeHierarchy
Boolean

Jeśli true, Zapisz zawartość bieżącej tabeli i jej wszystkich elementów podrzędnych.If true, write the contents of the current table and all its descendants. Jeśli false (wartość domyślna), Zapisz dane tylko dla bieżącej tabeli.If false (the default value), write the data for the current table only.

Przykłady

Następująca aplikacja konsolowa tworzy dwa wystąpienia DataTable, dodaje każdy do DataSet, tworzy DataRelation odnoszące się do dwóch tabel, a następnie używa metody WriteXml do zapisywania danych zawartych w tabeli nadrzędnej do 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 WriteXml method to write the data contained within the parent table to a TextWriter. Przykład ilustruje zachowanie podczas ustawiania parametru writeHierarchy, aby true.The example demonstrates the behavior when setting the writeHierarchy parameter to true.

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.WriteXml(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 stream, 
    string caption)
{
    Console.WriteLine("==============================");
    Console.WriteLine(caption);
    Console.WriteLine("==============================");
    Console.WriteLine(stream.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.WriteXml(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 stream As System.IO.TextWriter, ByVal caption As String)

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

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Zwykle Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally the WriteXml method writes the data only for the current table. Aby zapisać dane dla bieżącej tabeli i wszystkich jej obiektów podrzędnych, pokrewnych tabel, wywołaj metodę z parametrem writeHierarchy ustawionym na true.To write the data for the current table and all its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(TextWriter, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonych TextWriter i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

public:
 void WriteXml(System::IO::TextWriter ^ writer, System::Data::XmlWriteMode mode);
public void WriteXml (System.IO.TextWriter writer, System.Data.XmlWriteMode mode);
member this.WriteXml : System.IO.TextWriter * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (writer As TextWriter, mode As XmlWriteMode)

Parametry

writer
TextWriter

TextWriter używany do pisania dokumentu.The TextWriter used to write the document.

mode
XmlWriteMode

Jedna z wartości XmlWriteMode.One of the XmlWriteMode values.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(String, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonego pliku i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

public:
 void WriteXml(System::String ^ fileName, System::Data::XmlWriteMode mode);
public void WriteXml (string fileName, System.Data.XmlWriteMode mode);
member this.WriteXml : string * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (fileName As String, mode As XmlWriteMode)

Parametry

fileName
String

Nazwa pliku, w którym będą zapisywane dane.The name of the file to which the data will be written.

mode
XmlWriteMode

Jedna z wartości XmlWriteMode.One of the XmlWriteMode values.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawierają parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(Stream, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable do określonego pliku przy użyciu określonego XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

public:
 void WriteXml(System::IO::Stream ^ stream, System::Data::XmlWriteMode mode);
public void WriteXml (System.IO.Stream stream, System.Data.XmlWriteMode mode);
member this.WriteXml : System.IO.Stream * System.Data.XmlWriteMode -> unit

Parametry

stream
Stream

Strumień, do którego będą zapisywane dane.The stream to which the data will be written.

mode
XmlWriteMode

Jedna z wartości XmlWriteMode.One of the XmlWriteMode values.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(XmlWriter, Boolean)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego XmlWriter.Writes the current contents of the DataTable as XML using the specified XmlWriter.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, bool writeHierarchy);
public void WriteXml (System.Xml.XmlWriter writer, bool writeHierarchy);
member this.WriteXml : System.Xml.XmlWriter * bool -> unit
Public Sub WriteXml (writer As XmlWriter, writeHierarchy As Boolean)

Parametry

writer
XmlWriter

XmlWriter, z którym ma zostać napisana zawartość.The XmlWriter with which to write the contents.

writeHierarchy
Boolean

Jeśli true, Zapisz zawartość bieżącej tabeli i jej wszystkich elementów podrzędnych.If true, write the contents of the current table and all its descendants. Jeśli false (wartość domyślna), Zapisz dane tylko dla bieżącej tabeli.If false (the default value), write the data for the current table only.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawierają parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Zwykle Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally the WriteXml method writes the data only for the current table. Aby zapisać dane dla bieżącej tabeli i jej całego elementu podrzędnego, pokrewnych tabel, wywołaj metodę z parametrem writeHierarchy ustawionym na true.To write the data for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(XmlWriter, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonych XmlWriter i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, System::Data::XmlWriteMode mode);
public void WriteXml (System.Xml.XmlWriter writer, System.Data.XmlWriteMode mode);
member this.WriteXml : System.Xml.XmlWriter * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (writer As XmlWriter, mode As XmlWriteMode)

Parametry

writer
XmlWriter

XmlWriter używany do pisania dokumentu.The XmlWriter used to write the document.

mode
XmlWriteMode

Jedna z wartości XmlWriteMode.One of the XmlWriteMode values.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawierają parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(Stream, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable do określonego pliku przy użyciu określonego XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::IO::Stream ^ stream, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.IO.Stream stream, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : System.IO.Stream * System.Data.XmlWriteMode * bool -> unit

Parametry

stream
Stream

Strumień, do którego będą zapisywane dane.The stream to which the data will be written.

mode
XmlWriteMode

Jedna z wartości XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean

Jeśli true, Zapisz zawartość bieżącej tabeli i jej wszystkich elementów podrzędnych.If true, write the contents of the current table and all its descendants. Jeśli false (wartość domyślna), Zapisz dane tylko dla bieżącej tabeli.If false (the default value), write the data for the current table only.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalnie Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally, the WriteXml method saves data only for the current table. Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Zwykle Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally the WriteXml method writes the data only for the current table. Aby zapisać dane dla bieżącej tabeli i wszystkich jej obiektów podrzędnych, powiązanych tabel, wywołaj metodę z parametrem writeHierarchy ustawionym na true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(TextWriter, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonych TextWriter i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::IO::TextWriter ^ writer, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.IO.TextWriter writer, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : System.IO.TextWriter * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (writer As TextWriter, mode As XmlWriteMode, writeHierarchy As Boolean)

Parametry

writer
TextWriter

TextWriter używany do pisania dokumentu.The TextWriter used to write the document.

mode
XmlWriteMode

Jedna z wartości XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean

Jeśli true, Zapisz zawartość bieżącej tabeli i jej wszystkich elementów podrzędnych.If true, write the contents of the current table and all its descendants. Jeśli false (wartość domyślna), Zapisz dane tylko dla bieżącej tabeli.If false (the default value), write the data for the current table only.

Przykłady

Następująca aplikacja konsolowa tworzy dwa wystąpienia DataTable, dodaje każdy do DataSet, tworzy DataRelation odnoszące się do dwóch tabel, a następnie używa metody WriteXml do zapisywania danych zawartych w tabeli nadrzędnej do 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 WriteXml method to write the data contained within the parent table to a TextWriter. W przykładzie pokazano zachowanie podczas ustawiania parametru writeHierarchy dla każdej wartości.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.WriteXml(writer, XmlWriteMode.WriteSchema, false);
    PrintOutput(writer, "Customer table, without hierarchy");

    writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, 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.WriteXml(writer, XmlWriteMode.WriteSchema, False)
  PrintOutput(writer, "Customer table, without hierarchy")

  writer = New System.IO.StringWriter
  customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, 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

W przykładzie są wyświetlane następujące dane wyjściowe w oknie konsoli:The example displays the following output in the console window:

==============================  
Customer table, without hierarchy  
==============================  
<NewDataSet>  
  <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:choice>  
      </xs:complexType>  
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">  
        <xs:selector xpath=".//Table1" />  
        <xs:field xpath="ID" />  
      </xs:unique>  
    </xs:element>  
  </xs:schema>  
  <Table1>  
    <ID>1</ID>  
    <Name>Mary</Name>  
  </Table1>  
  <Table1>  
    <ID>2</ID>  
    <Name>Andy</Name>  
  </Table1>  
  <Table1>  
    <ID>3</ID>  
    <Name>Peter</Name>  
  </Table1>  
  <Table1>  
    <ID>4</ID>  
    <Name>Russ</Name>  
  </Table1>  
</NewDataSet>  
==============================  
Customer table, with hierarchy  
==============================  
<NewDataSet>  
  <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" m  
sdata: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>  
  <Table1>  
    <ID>1</ID>  
    <Name>Mary</Name>  
  </Table1>  
  <Table1>  
    <ID>2</ID>  
    <Name>Andy</Name>  
  </Table1>  
  <Table1>  
    <ID>3</ID>  
    <Name>Peter</Name>  
  </Table1>  
  <Table1>  
    <ID>4</ID>  
    <Name>Russ</Name>  
  </Table1>  
  <Table2>  
    <OrderID>1</OrderID>  
    <CustomerID>1</CustomerID>  
    <OrderDate>2003-12-02T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>2</OrderID>  
    <CustomerID>1</CustomerID>  
    <OrderDate>2004-01-03T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>3</OrderID>  
    <CustomerID>2</CustomerID>  
    <OrderDate>2004-11-13T00:00:00.0000000-08:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>4</OrderID>  
    <CustomerID>3</CustomerID>  
    <OrderDate>2004-05-16T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>5</OrderID>  
    <CustomerID>3</CustomerID>  
    <OrderDate>2004-05-22T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
  <Table2>  
    <OrderID>6</OrderID>  
    <CustomerID>4</CustomerID>  
    <OrderDate>2004-06-15T00:00:00.0000000-07:00</OrderDate>  
  </Table2>  
</NewDataSet>  

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalnie Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally, the WriteXml method saves data only for the current table. Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Zwykle Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally the WriteXml method writes the data only for the current table. Aby zapisać dane dla bieżącej tabeli i wszystkich jej obiektów podrzędnych, powiązanych tabel, wywołaj metodę z parametrem writeHierarchy ustawionym na true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(String, Boolean)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego pliku.Writes the current contents of the DataTable as XML using the specified file. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::String ^ fileName, bool writeHierarchy);
public void WriteXml (string fileName, bool writeHierarchy);
member this.WriteXml : string * bool -> unit
Public Sub WriteXml (fileName As String, writeHierarchy As Boolean)

Parametry

fileName
String

Plik, w którym mają zostać zapisane dane XML.The file to which to write the XML data.

writeHierarchy
Boolean

Jeśli true, Zapisz zawartość bieżącej tabeli i jej wszystkich elementów podrzędnych.If true, write the contents of the current table and all its descendants. Jeśli false (wartość domyślna), Zapisz dane tylko dla bieżącej tabeli.If false (the default value), write the data for the current table only.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Zwykle Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally the WriteXml method writes the data only for the current table. Aby zapisać dane dla bieżącej tabeli i wszystkich jej obiektów podrzędnych, powiązanych tabel, wywołaj metodę z parametrem writeHierarchy ustawionym na true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(Stream, Boolean)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego Stream.Writes the current contents of the DataTable as XML using the specified Stream. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::IO::Stream ^ stream, bool writeHierarchy);
public void WriteXml (System.IO.Stream stream, bool writeHierarchy);
member this.WriteXml : System.IO.Stream * bool -> unit

Parametry

stream
Stream

Strumień, do którego będą zapisywane dane.The stream to which the data will be written.

writeHierarchy
Boolean

Jeśli true, Zapisz zawartość bieżącej tabeli i jej wszystkich elementów podrzędnych.If true, write the contents of the current table and all its descendants. Jeśli false (wartość domyślna), Zapisz dane tylko dla bieżącej tabeli.If false (the default value), write the data for the current table only.

Uwagi

Użyj metody WriteXmlSchema, aby napisać schemat DataTable do dokumentu XML.Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. Schemat zawiera definicje tabel, relacji i ograniczeń.The schema includes table, relation, and constraint definitions.

Schemat XML jest zapisywana przy użyciu standardu XSD.The XML schema is written using the XSD standard.

Aby zapisać dane w dokumencie XML, użyj metody WriteXml.To write the data to an XML document, use the WriteXml method.

Zwykle Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally the WriteXml method writes the data only for the current table. Aby zapisać dane dla bieżącej tabeli i wszystkich jej obiektów podrzędnych, powiązanych tabel, wywołaj metodę z parametrem writeHierarchy ustawionym na true.To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonych XmlWriter i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.Xml.XmlWriter writer, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : System.Xml.XmlWriter * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (writer As XmlWriter, mode As XmlWriteMode, writeHierarchy As Boolean)

Parametry

writer
XmlWriter

XmlWriter używany do pisania dokumentu.The XmlWriter used to write the document.

mode
XmlWriteMode

Jedna z wartości XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean

Jeśli true, Zapisz zawartość bieżącej tabeli i jej wszystkich elementów podrzędnych.If true, write the contents of the current table and all its descendants. Jeśli false (wartość domyślna), Zapisz dane tylko dla bieżącej tabeli.If false (the default value), write the data for the current table only.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawierają parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Zwykle Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally the WriteXml method writes the data only for the current table. Aby zapisać dane dla bieżącej tabeli i jej całego elementu podrzędnego, pokrewnych tabel, wywołaj metodę z parametrem writeHierarchy ustawionym na true.To write the data for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(String)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego pliku.Writes the current contents of the DataTable as XML using the specified file.

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

Parametry

fileName
String

Plik, w którym mają zostać zapisane dane XML.The file to which to write the XML data.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(TextWriter)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego TextWriter.Writes the current contents of the DataTable as XML using the specified TextWriter.

public:
 void WriteXml(System::IO::TextWriter ^ writer);
public void WriteXml (System.IO.TextWriter writer);
member this.WriteXml : System.IO.TextWriter -> unit
Public Sub WriteXml (writer As TextWriter)

Parametry

writer
TextWriter

TextWriter, z którym ma zostać napisana zawartość.The TextWriter with which to write the content.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(Stream)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego Stream.Writes the current contents of the DataTable as XML using the specified Stream.

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

Parametry

stream
Stream

Strumień, do którego będą zapisywane dane.The stream to which the data will be written.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawiera parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(String, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable przy użyciu określonego pliku i XmlWriteMode.Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchema.To write the schema, set the value for the mode parameter to WriteSchema. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw parametr writeHierarchy na true.To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

public:
 void WriteXml(System::String ^ fileName, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (string fileName, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : string * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (fileName As String, mode As XmlWriteMode, writeHierarchy As Boolean)

Parametry

fileName
String

Nazwa pliku, w którym będą zapisywane dane.The name of the file to which the data will be written.

mode
XmlWriteMode

Jedna z wartości XmlWriteMode.One of the XmlWriteMode values.

writeHierarchy
Boolean

Jeśli true, Zapisz zawartość bieżącej tabeli i jej wszystkich elementów podrzędnych.If true, write the contents of the current table and all its descendants. Jeśli false (wartość domyślna), Zapisz dane tylko dla bieżącej tabeli.If false (the default value), write the data for the current table only.

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawierają parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Normalnie Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally, the WriteXml method saves data only for the current table. Jeśli chcesz zapisać dane dla bieżącej tabeli i wszystkich schematów, Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, podczas gdy metoda WriteXmlSchema zapisuje tylko schemat.If you want to save the data for the current table and all of schema, the WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawierają parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Zwykle Metoda WriteXml zapisuje dane tylko dla bieżącej tabeli.Normally the WriteXml method writes the data only for the current table. Aby zapisać dane dla bieżącej tabeli i wszystkich obiektów podrzędnych, powiązanych tabel, wywołaj metodę z parametrem writeHierarchy ustawionym na true.To write the data for the current table and all descendant, related tables, call the method with the writeHierarchy parameter set to true.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

WriteXml(XmlWriter)

Zapisuje bieżącą zawartość DataTable jako XML przy użyciu określonego XmlWriter.Writes the current contents of the DataTable as XML using the specified XmlWriter.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer);
public void WriteXml (System.Xml.XmlWriter writer);
member this.WriteXml : System.Xml.XmlWriter -> unit
Public Sub WriteXml (writer As XmlWriter)

Parametry

writer
XmlWriter

XmlWriter, z którym ma zostać napisana zawartość.The XmlWriter with which to write the contents.

Implementuje

Uwagi

Metoda WriteXml umożliwia zapisanie tylko danych lub zarówno danych, jak i schematu z DataTable do dokumentu XML, natomiast Metoda WriteXmlSchema zapisuje tylko schemat.The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. Aby zapisać dane i schemat, użyj jednego z przeciążeń, które zawierają parametr XmlWriteMode, i ustaw jego wartość na WriteSchema.To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

Należy zauważyć, że ta sama wartość dotyczy odpowiednio ReadXml i ReadXmlSchema metod.Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. Aby odczytać dane XML lub schemat i dane do DataTable, użyj metody ReadXml.To read XML data, or both schema and data into the DataTable, use the ReadXml method. Aby odczytać tylko schemat, użyj metody ReadXmlSchema.To read just the schema, use the ReadXmlSchema method.

Uwaga

InvalidOperationException zostanie wygenerowany, jeśli typ kolumny w DataRow jest odczytywany lub zapisywany w celu zaimplementowania IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

Zobacz też

Dotyczy