DataTable.WriteXml Metoda

Definicja

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

Przeciążenia

WriteXml(TextWriter, Boolean)

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

WriteXml(TextWriter, XmlWriteMode)

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.

WriteXml(String, XmlWriteMode)

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.

WriteXml(Stream, XmlWriteMode)

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.

WriteXml(XmlWriter, Boolean)

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

WriteXml(XmlWriter, XmlWriteMode)

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.

WriteXml(Stream, XmlWriteMode, Boolean)

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.

WriteXml(TextWriter, XmlWriteMode, Boolean)

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.

WriteXml(String, Boolean)

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

WriteXml(Stream, Boolean)

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

WriteXml(XmlWriter, XmlWriteMode, Boolean)

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. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na true.

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

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 DataSetklasy , 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ć 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 IXmlSerializableelementu .

WriteXml(TextWriter, Boolean)

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

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 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 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 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ązane tabele, wywołaj metodę z parametrem ustawionym na writeHierarchy true.

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)

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.

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

Używany TextWriter 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ń 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(String, XmlWriteMode)

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

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)

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)

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 writeHierarchy true.

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)

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)

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 writeHierarchy true.

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)

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 writeHierarchy true.

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)

Zapisuje bieżącą zawartość DataTable pliku jako XML przy użyciu określonego pliku. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na 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, 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ć, ż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 writeHierarchy true.

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, Boolean)

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

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 do zapisania schematu dla DataTable dokumentu 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ązane tabele, wywołaj metodę z parametrem ustawionym na writeHierarchy true.

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, Boolean)

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. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na 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);
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

Używany XmlWriter 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.

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 writeHierarchy true.

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)

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 IXmlSerializableelementu .

Zobacz też

Dotyczy

WriteXml(TextWriter)

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 IXmlSerializableelementu .

Zobacz też

Dotyczy

WriteXml(Stream)

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 IXmlSerializableelementu .

Zobacz też

Dotyczy

WriteXml(String, XmlWriteMode, Boolean)

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. Aby zapisać dane dla tabeli i wszystkich jej elementów podrzędnych, ustaw writeHierarchy parametr na 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, 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ń, 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. Jeśli chcesz zapisać dane dla bieżącej tabeli i wszystkich schematów, 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ć, ż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 elementów podrzędnych, powiązane tabele, wywołaj metodę z parametrem ustawionym na writeHierarchy true.

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)

Zapisuje bieżącą zawartość obiektu DataTable 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

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

Zobacz też

Dotyczy