Поделиться через


DataTable.WriteXml Метод

Определение

Записывает текущее содержимое таблицы DataTable в формате XML.

Перегрузки

WriteXml(TextWriter, Boolean)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента TextWriter. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.

WriteXml(TextWriter, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных TextWriter и XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.

WriteXml(String, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable, используя указанный файл и заданное перечисление XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.

WriteXml(Stream, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable в указанный файл с помощью заданного объекта XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.

WriteXml(XmlWriter, Boolean)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента XmlWriter.

WriteXml(XmlWriter, XmlWriteMode)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных XmlWriter и XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema.

WriteXml(Stream, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable в указанный файл с помощью заданного объекта XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.

WriteXml(TextWriter, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных TextWriter и XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.

WriteXml(String, Boolean)

Записывает текущее содержимое таблицы DataTable в формате XML, используя указанный файл. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.

WriteXml(Stream, Boolean)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента Stream. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable с помощью указанных XmlWriter и XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.

WriteXml(String)

Записывает текущее содержимое таблицы DataTable в формате XML, используя указанный файл.

WriteXml(TextWriter)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента TextWriter.

WriteXml(Stream)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента Stream.

WriteXml(String, XmlWriteMode, Boolean)

Записывает текущие данные и по возможности схему для DataTable, используя указанный файл и заданное перечисление XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение true.

WriteXml(XmlWriter)

Записывает текущее содержимое DataTable как XML с использованием указанного элемента XmlWriter.

Примеры

Следующее консольное приложение создает два DataTable экземпляра, добавляет каждый в DataSet, создает объект , связанный DataRelation с двумя таблицами, а затем использует WriteXml метод для записи данных, содержащихся в родительской таблице, TextWriterв . В примере демонстрируется поведение при задании writeHierarchy параметра каждого из его значений.

Примечание

В этом примере показано, как использовать одну из перегруженных версий WriteXml. Другие примеры, которые могут быть доступны, см. в разделах об отдельных перегрузках.

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

В этом примере в окне консоли отображаются следующие выходные данные:

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

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающих XmlWriteMode параметр , и задайте для него значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Примечание

Создается InvalidOperationException , если тип столбца в объекте , DataRow считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.

WriteXml(TextWriter, Boolean)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

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

Параметры

writer
TextWriter

TextWriter — используется для записи содержимого.

writeHierarchy
Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.

Примеры

Следующее консольное приложение создает два DataTable экземпляра, добавляет каждый в DataSet, создает объект , связанный DataRelation с двумя таблицами, а затем использует WriteXml метод для записи данных, содержащихся в родительской таблице, TextWriterв . В примере демонстрируется поведение при задании writeHierarchy параметра значения 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

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обычно WriteXml метод записывает данные только для текущей таблицы. Чтобы записать данные для текущей таблицы и всех ее потомков, связанных таблиц, вызовите метод с параметром writeHierarchy , равным true.

Примечание

Создается InvalidOperationException , если тип столбца в объекте , DataRow считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(TextWriter, XmlWriteMode)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

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

Параметры

writer
TextWriter

Класс TextWriter, используемый для записи документа.

mode
XmlWriteMode

Одно из значений перечисления XmlWriteMode.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Примечание

Создается InvalidOperationException , если тип столбца в объекте , DataRow считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(String, XmlWriteMode)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Записывает текущие данные и по возможности схему для DataTable, используя указанный файл и заданное перечисление XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение 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)

Параметры

fileName
String

Имя файла, в который записываются данные.

mode
XmlWriteMode

Одно из значений перечисления XmlWriteMode.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающих XmlWriteMode параметр , и задайте для него значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Примечание

Создается InvalidOperationException , если тип столбца в объекте , DataRow считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(Stream, XmlWriteMode)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Записывает текущие данные и по возможности схему для DataTable в указанный файл с помощью заданного объекта XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение 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)

Параметры

stream
Stream

Поток, в который записываются данные.

mode
XmlWriteMode

Одно из значений перечисления XmlWriteMode.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Примечание

Создается InvalidOperationException , если тип столбца в объекте , DataRow считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(XmlWriter, Boolean)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Записывает текущее содержимое DataTable как XML с использованием указанного элемента XmlWriter.

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)

Параметры

writer
XmlWriter

Средство записи XmlWriter, с помощью которого записывается содержимое.

writeHierarchy
Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающих XmlWriteMode параметр , и задайте для него значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Обычно WriteXml метод записывает данные только для текущей таблицы. Чтобы записать данные для текущей таблицы и всех связанных таблиц ее потомков, вызовите метод с параметром writeHierarchy , равным true.

Примечание

Создается InvalidOperationException , если тип столбца в объекте , DataRow считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(XmlWriter, XmlWriteMode)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

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

Параметры

writer
XmlWriter

Класс XmlWriter, используемый для записи документа.

mode
XmlWriteMode

Одно из значений перечисления XmlWriteMode.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающих XmlWriteMode параметр , и задайте для него значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Примечание

Создается InvalidOperationException , если тип столбца в объекте , DataRow считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(Stream, XmlWriteMode, Boolean)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Записывает текущие данные и по возможности схему для DataTable в указанный файл с помощью заданного объекта XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение 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)

Параметры

stream
Stream

Поток, в который записываются данные.

mode
XmlWriteMode

Одно из значений перечисления XmlWriteMode.

writeHierarchy
Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

WriteXml Обычно метод сохраняет данные только для текущей таблицы. Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Обычно WriteXml метод записывает данные только для текущей таблицы. Чтобы записать данные для текущей таблицы и всех ее потомков, связанных таблиц, вызовите метод с параметром writeHierarchy , равным true.

Примечание

Создается InvalidOperationException , если тип столбца в объекте , DataRow считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(TextWriter, XmlWriteMode, Boolean)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

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

Параметры

writer
TextWriter

Класс TextWriter, используемый для записи документа.

mode
XmlWriteMode

Одно из значений перечисления XmlWriteMode.

writeHierarchy
Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.

Примеры

Следующее консольное приложение создает два DataTable экземпляра, добавляет каждый в DataSet, создает объект , связанный DataRelation с двумя таблицами, а затем использует WriteXml метод для записи данных, содержащихся в родительской таблице, TextWriterв . В примере демонстрируется поведение при задании writeHierarchy параметра каждого из его значений.

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

В этом примере в окне консоли отображаются следующие выходные данные:

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

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

WriteXml Обычно метод сохраняет данные только для текущей таблицы. Метод WriteXml предоставляет способ записи только данных или данных и схемы из в DataTable XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Обычно WriteXml метод записывает данные только для текущей таблицы. Чтобы записать данные для текущей таблицы и всех ее потомков, связанных таблиц, вызовите метод с параметром writeHierarchy , равным true.

Примечание

Создается InvalidOperationException , если тип столбца в объекте , DataRow считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(String, Boolean)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

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

Параметры

fileName
String

Файл, в который записываются XML-данные.

writeHierarchy
Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из DataTable в XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

WriteXml Обычно метод записывает данные только для текущей таблицы. Чтобы записать данные для текущей таблицы и всех ее потомков, связанных таблиц, вызовите метод с параметром writeHierarchy , равным true.

Примечание

Вызывается InvalidOperationException , если тип столбца в считывается из или записывается в DataRow , реализует IDynamicMetaObjectProvider и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(Stream, Boolean)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Записывает текущее содержимое DataTable как XML с использованием указанного элемента Stream. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение 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)

Параметры

stream
Stream

Поток, в который записываются данные.

writeHierarchy
Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.

Комментарии

Используйте метод для WriteXmlSchema записи схемы для в DataTable XML-документ. Схема включает определения таблиц, отношений и ограничений.

Схема XML записывается с использованием стандарта XSD.

Чтобы записать данные в XML-документ, используйте WriteXml метод .

WriteXml Обычно метод записывает данные только для текущей таблицы. Чтобы записать данные для текущей таблицы и всех ее потомков, связанных таблиц, вызовите метод с параметром writeHierarchy , равным true.

Примечание

Вызывается InvalidOperationException , если тип столбца в считывается из или записывается в DataRow , реализует IDynamicMetaObjectProvider и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

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

Параметры

writer
XmlWriter

Класс XmlWriter, используемый для записи документа.

mode
XmlWriteMode

Одно из значений перечисления XmlWriteMode.

writeHierarchy
Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из DataTable в XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающих XmlWriteMode параметр , и задайте для него значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

WriteXml Обычно метод записывает данные только для текущей таблицы. Чтобы записать данные для текущей таблицы и всех связанных таблиц ее потомков, вызовите метод с параметром writeHierarchy , равным true.

Примечание

Вызывается InvalidOperationException , если тип столбца в считывается из или записывается в DataRow , реализует IDynamicMetaObjectProvider и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(String)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Записывает текущее содержимое таблицы DataTable в формате XML, используя указанный файл.

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

Параметры

fileName
String

Файл, в который записываются XML-данные.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из DataTable в XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Примечание

Вызывается InvalidOperationException , если тип столбца в считывается из или записывается в DataRow , реализует IDynamicMetaObjectProvider и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(TextWriter)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Записывает текущее содержимое DataTable как XML с использованием указанного элемента TextWriter.

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)

Параметры

writer
TextWriter

TextWriter — используется для записи содержимого.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из DataTable в XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Примечание

Вызывается InvalidOperationException , если тип столбца в считывается из или записывается в DataRow , реализует IDynamicMetaObjectProvider и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(Stream)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Записывает текущее содержимое DataTable как XML с использованием указанного элемента Stream.

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)

Параметры

stream
Stream

Поток, в который записываются данные.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из DataTable в XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающую XmlWriteMode параметр , и присвойте ей значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Примечание

Вызывается InvalidOperationException , если тип столбца в считывается из или записывается в DataRow , реализует IDynamicMetaObjectProvider и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(String, XmlWriteMode, Boolean)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Записывает текущие данные и по возможности схему для DataTable, используя указанный файл и заданное перечисление XmlWriteMode. Чтобы записать схему, задайте в параметре mode значение WriteSchema. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра writeHierarchy значение 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)

Параметры

fileName
String

Имя файла, в который записываются данные.

mode
XmlWriteMode

Одно из значений перечисления XmlWriteMode.

writeHierarchy
Boolean

Если значение равно true, записывает содержимое текущей таблицы и всех ее потомков. Если значение равно false (значение по умолчанию), записывает данные только для текущей таблицы.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из DataTable в XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающих XmlWriteMode параметр , и задайте для него значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

WriteXml Обычно метод сохраняет данные только для текущей таблицы. Если требуется сохранить данные для текущей таблицы и всей схемы, WriteXml метод предоставляет способ записи только данных или данных и схемы из DataTable в XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающих XmlWriteMode параметр , и задайте для него значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

WriteXml Обычно метод записывает данные только для текущей таблицы. Чтобы записать данные для текущей таблицы и всех дочерних связанных таблиц, вызовите метод с параметром writeHierarchy , равным true.

Примечание

Вызывается InvalidOperationException , если тип столбца в считывается из или записывается в DataRow , реализует IDynamicMetaObjectProvider и не реализует IXmlSerializable.

См. также раздел

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

WriteXml(XmlWriter)

Исходный код:
DataTable.cs
Исходный код:
DataTable.cs
Исходный код:
DataTable.cs

Записывает текущее содержимое DataTable как XML с использованием указанного элемента XmlWriter.

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)

Параметры

writer
XmlWriter

Средство записи XmlWriter, с помощью которого записывается содержимое.

Комментарии

Метод WriteXml предоставляет способ записи только данных или данных и схемы из DataTable в XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающих XmlWriteMode параметр , и задайте для него значение WriteSchema.

Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable, используйте ReadXml метод . Чтобы прочитать только схему, используйте ReadXmlSchema метод .

Примечание

Создается InvalidOperationException , если тип столбца в объекте , DataRow считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.

См. также раздел

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