DataTable.WriteXml Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Записывает текущее содержимое таблицы DataTable в формате XML.
Перегрузки
WriteXml(TextWriter, Boolean) |
Записывает текущее содержимое DataTable как XML с использованием указанного элемента TextWriter. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра |
WriteXml(TextWriter, XmlWriteMode) |
Записывает текущие данные и по возможности схему для DataTable с помощью указанных TextWriter и XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXml(String, XmlWriteMode) |
Записывает текущие данные и по возможности схему для DataTable, используя указанный файл и заданное перечисление XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXml(Stream, XmlWriteMode) |
Записывает текущие данные и по возможности схему для DataTable в указанный файл с помощью заданного объекта XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXml(XmlWriter, Boolean) |
Записывает текущее содержимое DataTable как XML с использованием указанного элемента XmlWriter. |
WriteXml(XmlWriter, XmlWriteMode) |
Записывает текущие данные и по возможности схему для DataTable с помощью указанных XmlWriter и XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXml(Stream, XmlWriteMode, Boolean) |
Записывает текущие данные и по возможности схему для DataTable в указанный файл с помощью заданного объекта XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXml(TextWriter, XmlWriteMode, Boolean) |
Записывает текущие данные и по возможности схему для DataTable с помощью указанных TextWriter и XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXml(String, Boolean) |
Записывает текущее содержимое таблицы DataTable в формате XML, используя указанный файл. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра |
WriteXml(Stream, Boolean) |
Записывает текущее содержимое DataTable как XML с использованием указанного элемента Stream. Чтобы сохранить данные для таблицы и всех ее потомков, установите для параметра |
WriteXml(XmlWriter, XmlWriteMode, Boolean) |
Записывает текущие данные и по возможности схему для DataTable с помощью указанных XmlWriter и XmlWriteMode. Чтобы записать схему, задайте в параметре |
WriteXml(String) |
Записывает текущее содержимое таблицы DataTable в формате XML, используя указанный файл. |
WriteXml(TextWriter) |
Записывает текущее содержимое DataTable как XML с использованием указанного элемента TextWriter. |
WriteXml(Stream) |
Записывает текущее содержимое DataTable как XML с использованием указанного элемента Stream. |
WriteXml(String, XmlWriteMode, Boolean) |
Записывает текущие данные и по возможности схему для DataTable, используя указанный файл и заданное перечисление XmlWriteMode. Чтобы записать схему, задайте в параметре |
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
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)
Параметры
- 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)
Параметры
- 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
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)
Параметры
- 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
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
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)
Параметры
Комментарии
Метод WriteXml предоставляет способ записи только данных или данных и схемы из DataTable в XML-документ, тогда как WriteXmlSchema метод записывает только схему. Чтобы записать данные и схему, используйте одну из перегрузок, включающих XmlWriteMode параметр , и задайте для него значение WriteSchema
.
Обратите внимание, что то же самое верно для ReadXml методов и ReadXmlSchema соответственно. Чтобы считывать XML-данные или как схему, так и данные в DataTable
, используйте ReadXml
метод . Чтобы прочитать только схему, используйте ReadXmlSchema
метод .
Примечание
Создается InvalidOperationException , если тип столбца в объекте , DataRow
считываемый из или записываемый IDynamicMetaObjectProvider в , реализует и не реализует IXmlSerializable.