Udostępnij za pośrednictwem


DataTable.WriteXml Metoda

Definicja

Zapisuje bieżącą zawartość DataTable pliku jako XML.

Przeciążenia

WriteXml(TextWriter, Boolean)

Zapisuje bieżącą zawartość obiektu DataTable jako XML przy użyciu określonego TextWriterelementu . Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

WriteXml(TextWriter, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat przy DataTable użyciu określonych TextWriter parametrów i XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość .

WriteXml(String, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat DataTable przy użyciu określonego pliku i XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość .

WriteXml(Stream, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable określonego pliku przy użyciu określonego XmlWriteModepliku . Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość .

WriteXml(XmlWriter, Boolean)

Zapisuje bieżącą zawartość obiektu DataTable jako XML przy użyciu określonego XmlWriterelementu .

WriteXml(XmlWriter, XmlWriteMode)

Zapisuje bieżące dane i opcjonalnie schemat przy DataTable użyciu określonych XmlWriter parametrów i XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość .

WriteXml(Stream, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable określonego pliku przy użyciu określonego XmlWriteModepliku . Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość . Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

WriteXml(TextWriter, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat przy DataTable użyciu określonych TextWriter parametrów i XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość . Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

WriteXml(String, Boolean)

Zapisuje bieżącą zawartość pliku DataTable jako XML przy użyciu określonego pliku. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

WriteXml(Stream, Boolean)

Zapisuje bieżącą zawartość obiektu DataTable jako XML przy użyciu określonego Streamelementu . Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat przy DataTable użyciu określonych XmlWriter parametrów i XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość . Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

WriteXml(String)

Zapisuje bieżącą zawartość pliku DataTable jako XML przy użyciu określonego pliku.

WriteXml(TextWriter)

Zapisuje bieżącą zawartość obiektu DataTable jako XML przy użyciu określonego TextWriterelementu .

WriteXml(Stream)

Zapisuje bieżącą zawartość obiektu DataTable jako XML przy użyciu określonego Streamelementu .

WriteXml(String, XmlWriteMode, Boolean)

Zapisuje bieżące dane i opcjonalnie schemat DataTable przy użyciu określonego pliku i XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość . Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

WriteXml(XmlWriter)

Zapisuje bieżącą zawartość obiektu DataTable jako XML przy użyciu określonego XmlWriterelementu .

Przykłady

Następująca aplikacja konsolowa tworzy dwa DataTable wystąpienia, dodaje każdy do DataSetobiektu , tworzy DataRelation powiązanie dwóch tabel, a następnie używa WriteXml metody do zapisywania danych zawartych w tabeli nadrzędnej do klasy TextWriter. W przykładzie pokazano zachowanie podczas ustawiania parametru writeHierarchy na każdą z jego wartości.

Uwaga

W tym przykładzie pokazano, jak używać jednej z przeciążonych wersji narzędzia WriteXml. Inne przykłady, które mogą być dostępne, można znaleźć w poszczególnych tematach przeciążenia.

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 zostaną wyświetlone następujące dane wyjściowe w oknie konsoli:

==============================
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 zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń, które zawierają XmlWriteMode parametr, i ustaw jego wartość na WriteSchema.

Należy pamiętać, że to samo dotyczy ReadXml odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

Uwaga

Zostanie InvalidOperationException zgłoszony, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany do implementacji IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.

WriteXml(TextWriter, Boolean)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżącą zawartość obiektu DataTable jako XML przy użyciu określonego TextWriterelementu . Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

public:
 void WriteXml(System::IO::TextWriter ^ writer, bool writeHierarchy);
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

Element TextWriter , za pomocą którego ma być zapisywana zawartość.

writeHierarchy
Boolean

Jeśli true, zapisz zawartość bieżącej tabeli i wszystkich jej elementów podrzędnych. Jeśli false (wartość domyślna), zapisz dane tylko dla bieżącej tabeli.

Przykłady

Następująca aplikacja konsolowa tworzy dwa DataTable wystąpienia, dodaje każdy do DataSetobiektu , tworzy DataRelation powiązanie dwóch tabel, a następnie używa WriteXml metody do zapisywania danych zawartych w tabeli nadrzędnej do klasy TextWriter. W przykładzie pokazano zachowanie podczas ustawiania parametru writeHierarchy na truewartość .

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 zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Aby zapisać dane dla bieżącej tabeli i wszystkich jej elementów podrzędnych, powiązanych tabel, wywołaj metodę z parametrem ustawionym writeHierarchy na truewartość .

Uwaga

Wartość InvalidOperationException zostanie wyrzucona, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany w implementacji IDynamicMetaObjectProvider i nie implementuje elementu IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(TextWriter, XmlWriteMode)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżące dane i opcjonalnie schemat przy DataTable użyciu określonych TextWriter parametrów i XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość .

public:
 void WriteXml(System::IO::TextWriter ^ writer, System::Data::XmlWriteMode mode);
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

Element TextWriter używany do zapisywania dokumentu.

mode
XmlWriteMode

XmlWriteMode Jedna z wartości.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

Należy pamiętać ReadXml , że to samo dotyczy odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

Uwaga

Wartość InvalidOperationException zostanie wyrzucona, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany w implementacji IDynamicMetaObjectProvider i nie implementuje elementu IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(String, XmlWriteMode)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżące dane i opcjonalnie schemat DataTable przy użyciu określonego pliku i XmlWriteMode. Aby napisać schemat, ustaw wartość parametru mode na 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, do którego zostaną zapisane dane.

mode
XmlWriteMode

XmlWriteMode Jedna z wartości.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń, które zawierają XmlWriteMode parametr, i ustaw jego wartość na WriteSchema.

Należy pamiętać, że to samo dotyczy ReadXml odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

Uwaga

Zostanie InvalidOperationException zgłoszony, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany do implementacji IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(Stream, XmlWriteMode)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable określonego pliku przy użyciu określonego XmlWriteModepliku . Aby napisać schemat, ustaw wartość parametru mode na WriteSchema.

public:
 void WriteXml(System::IO::Stream ^ stream, System::Data::XmlWriteMode mode);
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
Public Sub WriteXml (stream As Stream, mode As XmlWriteMode)

Parametry

stream
Stream

Strumień, do którego zostaną zapisane dane.

mode
XmlWriteMode

Jedna z XmlWriteMode wartości.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

Należy pamiętać, że to samo dotyczy ReadXml odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

Uwaga

Zostanie InvalidOperationException zgłoszony, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany do implementacji IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(XmlWriter, Boolean)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżącą zawartość DataTable pliku jako XML przy użyciu określonego XmlWriterelementu .

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, bool writeHierarchy);
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

Element XmlWriter , za pomocą którego ma być zapisywana zawartość.

writeHierarchy
Boolean

Jeśli true, zapisz zawartość bieżącej tabeli i wszystkich jej elementów podrzędnych. Jeśli false (wartość domyślna), zapisz dane tylko dla bieżącej tabeli.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń, które zawierają XmlWriteMode parametr, i ustaw jego wartość na WriteSchema.

Należy pamiętać, że to samo dotyczy ReadXml odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Aby zapisać dane dla bieżącej tabeli i jej całego elementu podrzędnego, powiązane tabele, wywołaj metodę z parametrem ustawionym na writeHierarchytrue.

Uwaga

Zostanie InvalidOperationException zgłoszony, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany do implementacji IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(XmlWriter, XmlWriteMode)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżące dane i opcjonalnie schemat DataTable przy użyciu określonego XmlWriter parametru i XmlWriteMode. Aby napisać schemat, ustaw wartość parametru mode na WriteSchema.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, System::Data::XmlWriteMode mode);
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

Używany XmlWriter do pisania dokumentu.

mode
XmlWriteMode

Jedna z XmlWriteMode wartości.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń, które zawierają XmlWriteMode parametr, i ustaw jego wartość na WriteSchema.

Należy pamiętać, że to samo dotyczy ReadXml odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

Uwaga

Zostanie InvalidOperationException zgłoszony, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany do implementacji IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(Stream, XmlWriteMode, Boolean)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżące dane i opcjonalnie schemat dla DataTable określonego pliku przy użyciu określonego XmlWriteModepliku . Aby napisać schemat, ustaw wartość parametru mode na WriteSchema. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na 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);
public void WriteXml (System.IO.Stream stream, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : System.IO.Stream * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (stream As Stream, mode As XmlWriteMode, writeHierarchy As Boolean)

Parametry

stream
Stream

Strumień, do którego zostaną zapisane dane.

mode
XmlWriteMode

Jedna z XmlWriteMode wartości.

writeHierarchy
Boolean

Jeśli true, zapisz zawartość bieżącej tabeli i wszystkich jej elementów podrzędnych. Jeśli false (wartość domyślna), zapisz dane tylko dla bieżącej tabeli.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

Należy pamiętać, że to samo dotyczy ReadXml odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

Należy pamiętać, że to samo dotyczy ReadXml odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Aby zapisać dane dla bieżącej tabeli i wszystkich jej elementów podrzędnych, powiązane tabele, wywołaj metodę z parametrem ustawionym na writeHierarchytrue.

Uwaga

Zostanie InvalidOperationException zgłoszony, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany do implementacji IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(TextWriter, XmlWriteMode, Boolean)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżące dane i opcjonalnie schemat DataTable przy użyciu określonego TextWriter parametru i XmlWriteMode. Aby napisać schemat, ustaw wartość parametru mode na WriteSchema. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na 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);
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

Używany TextWriter do pisania dokumentu.

mode
XmlWriteMode

Jedna z XmlWriteMode wartości.

writeHierarchy
Boolean

Jeśli true, zapisz zawartość bieżącej tabeli i wszystkich jej elementów podrzędnych. Jeśli false (wartość domyślna), zapisz dane tylko dla bieżącej tabeli.

Przykłady

Następująca aplikacja konsolowa tworzy dwa DataTable wystąpienia, dodaje każdy do DataSetelementu , tworzy DataRelation powiązanie dwóch tabel, a następnie używa WriteXml metody do zapisu danych zawartych w tabeli nadrzędnej do obiektu TextWriter. W przykładzie pokazano zachowanie podczas ustawiania parametru writeHierarchy na każdą z jego wartości.

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 zostaną wyświetlone następujące dane wyjściowe w oknie konsoli:

==============================
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 zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

Należy pamiętać, że to samo dotyczy ReadXml odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

Należy pamiętać, że to samo dotyczy ReadXml odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Aby zapisać dane dla bieżącej tabeli i wszystkich jej elementów podrzędnych, powiązane tabele, wywołaj metodę z parametrem ustawionym na writeHierarchytrue.

Uwaga

Zostanie InvalidOperationException zgłoszony, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany do implementacji IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(String, Boolean)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżącą zawartość pliku DataTable jako XML przy użyciu określonego pliku. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

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, do którego mają być zapisywane dane XML.

writeHierarchy
Boolean

Jeśli true, zapisz zawartość bieżącej tabeli i wszystkich jej elementów podrzędnych. Jeśli false (wartość domyślna), zapisz dane tylko dla bieżącej tabeli.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

Należy pamiętać ReadXml , że to samo dotyczy odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Aby zapisać dane dla bieżącej tabeli i wszystkich jej elementów podrzędnych, powiązanych tabel, wywołaj metodę z parametrem ustawionym writeHierarchy na truewartość .

Uwaga

Wartość InvalidOperationException zostanie wyrzucona, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany w implementacji IDynamicMetaObjectProvider i nie implementuje elementu IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(Stream, Boolean)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżącą zawartość obiektu DataTable jako XML przy użyciu określonego Streamelementu . Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

public:
 void WriteXml(System::IO::Stream ^ stream, bool writeHierarchy);
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
Public Sub WriteXml (stream As Stream, writeHierarchy As Boolean)

Parametry

stream
Stream

Strumień, do którego zostaną zapisane dane.

writeHierarchy
Boolean

Jeśli true, zapisz zawartość bieżącej tabeli i wszystkich jej elementów podrzędnych. Jeśli false (wartość domyślna), zapisz dane tylko dla bieżącej tabeli.

Uwagi

WriteXmlSchema Użyj metody , aby zapisać schemat dla DataTable elementu w dokumencie XML. Schemat zawiera definicje tabel, relacji i ograniczeń.

Schemat XML jest zapisywany przy użyciu standardu XSD.

Aby zapisać dane w dokumencie XML, użyj WriteXml metody .

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Aby zapisać dane dla bieżącej tabeli i wszystkich jej elementów podrzędnych, powiązanych tabel, wywołaj metodę z parametrem ustawionym writeHierarchy na truewartość .

Uwaga

Wartość InvalidOperationException zostanie wyrzucona, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany w implementacji IDynamicMetaObjectProvider i nie implementuje elementu IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżące dane i opcjonalnie schemat przy DataTable użyciu określonych XmlWriter parametrów i XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość . Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

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);
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

Element XmlWriter używany do zapisywania dokumentu.

mode
XmlWriteMode

XmlWriteMode Jedna z wartości.

writeHierarchy
Boolean

Jeśli true, zapisz zawartość bieżącej tabeli i wszystkich jej elementów podrzędnych. Jeśli false (wartość domyślna), zapisz dane tylko dla bieżącej tabeli.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń, które zawierają XmlWriteMode parametr , i ustaw jego wartość na WriteSchema.

Należy pamiętać ReadXml , że to samo dotyczy odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Aby zapisać dane dla bieżącej tabeli i jej całego elementu podrzędnego, powiązane tabele, wywołaj metodę z parametrem ustawionym writeHierarchy na true.

Uwaga

Wartość InvalidOperationException zostanie wyrzucona, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany w implementacji IDynamicMetaObjectProvider i nie implementuje elementu IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(String)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżącą zawartość pliku DataTable jako XML przy użyciu określonego pliku.

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, do którego mają być zapisywane dane XML.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

Należy pamiętać ReadXml , że to samo dotyczy odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

Uwaga

Wartość InvalidOperationException zostanie wyrzucona, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany w implementacji IDynamicMetaObjectProvider i nie implementuje elementu IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(TextWriter)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżącą zawartość obiektu DataTable jako XML przy użyciu określonego TextWriterelementu .

public:
 void WriteXml(System::IO::TextWriter ^ writer);
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

Element TextWriter , za pomocą którego ma być zapisywana zawartość.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

Należy pamiętać ReadXml , że to samo dotyczy odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

Uwaga

Wartość InvalidOperationException zostanie wyrzucona, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany w implementacji IDynamicMetaObjectProvider i nie implementuje elementu IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(Stream)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżącą zawartość obiektu DataTable jako XML przy użyciu określonego Streamelementu .

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

Parametry

stream
Stream

Strumień, do którego zostaną zapisane dane.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń obejmujących XmlWriteMode parametr i ustaw jego wartość na WriteSchema.

Należy pamiętać ReadXml , że to samo dotyczy odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

Uwaga

Wartość InvalidOperationException zostanie wyrzucona, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany w implementacji IDynamicMetaObjectProvider i nie implementuje elementu IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(String, XmlWriteMode, Boolean)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżące dane i opcjonalnie schemat DataTable przy użyciu określonego pliku i XmlWriteMode. Aby zapisać schemat, ustaw wartość parametru mode na WriteSchemawartość . Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na truewartość .

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, do którego zostaną zapisane dane.

mode
XmlWriteMode

XmlWriteMode Jedna z wartości.

writeHierarchy
Boolean

Jeśli true, zapisz zawartość bieżącej tabeli i wszystkich jej elementów podrzędnych. Jeśli false (wartość domyślna), zapisz dane tylko dla bieżącej tabeli.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń, które zawierają XmlWriteMode parametr , i ustaw jego wartość na WriteSchema.

Należy pamiętać ReadXml , że to samo dotyczy odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Jeśli chcesz zapisać dane dla bieżącej tabeli i całego schematu, WriteXml metoda umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń, które zawierają XmlWriteMode parametr , i ustaw jego wartość na WriteSchema.

Należy pamiętać ReadXml , że to samo dotyczy odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

WriteXml Zwykle metoda zapisuje dane tylko dla bieżącej tabeli. Aby zapisać dane dla bieżącej tabeli i wszystkich obiektów potomnych, powiązanych tabel, wywołaj metodę z parametrem ustawionym writeHierarchy na truewartość .

Uwaga

Wartość InvalidOperationException zostanie wyrzucona, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany w implementacji IDynamicMetaObjectProvider i nie implementuje elementu IXmlSerializable.

Zobacz też

Dotyczy

WriteXml(XmlWriter)

Źródło:
DataTable.cs
Źródło:
DataTable.cs
Źródło:
DataTable.cs

Zapisuje bieżącą zawartość DataTable pliku jako XML przy użyciu określonego XmlWriterelementu .

public:
 void WriteXml(System::Xml::XmlWriter ^ writer);
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

Element XmlWriter , za pomocą którego ma być zapisywana zawartość.

Uwagi

Metoda WriteXml umożliwia zapisywanie tylko danych lub zarówno danych, jak i schematu z DataTable dokumentu XML, podczas gdy WriteXmlSchema metoda zapisuje tylko schemat. Aby zapisać zarówno dane, jak i schemat, użyj jednego z przeciążeń, które zawierają XmlWriteMode parametr , i ustaw jego wartość na WriteSchema.

Należy pamiętać ReadXml , że to samo dotyczy odpowiednio metod i ReadXmlSchema . Aby odczytać dane XML lub zarówno schemat, jak i dane w obiekcie DataTable, użyj ReadXml metody . Aby odczytać tylko schemat, użyj ReadXmlSchema metody .

Uwaga

Zostanie InvalidOperationException zgłoszony, jeśli typ kolumny jest DataRow odczytywany z lub zapisywany do implementacji IDynamicMetaObjectProvider i nie implementuje IXmlSerializable.

Zobacz też

Dotyczy