DataTable.WriteXml 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
以 XML 形式写入 DataTable 的当前内容。
重载
WriteXml(TextWriter, Boolean) |
通过指定的 TextWriter,按 XML 形式编写 DataTable 的当前内容。 若要保存该表及其所有子代的数据,请将 |
WriteXml(TextWriter, XmlWriteMode) |
使用指定的 TextWriter 和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 |
WriteXml(String, XmlWriteMode) |
使用指定的文件和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 |
WriteXml(Stream, XmlWriteMode) |
使用指定的 XmlWriteMode 将 DataTable 的当前数据和架构(可选)写入指定的文件。 若要写入架构,请将 |
WriteXml(XmlWriter, Boolean) | |
WriteXml(XmlWriter, XmlWriteMode) |
使用指定的 XmlWriter 和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 |
WriteXml(Stream, XmlWriteMode, Boolean) |
使用指定的 XmlWriteMode 将 DataTable 的当前数据和架构(可选)写入指定的文件。 若要写入架构,请将 |
WriteXml(TextWriter, XmlWriteMode, Boolean) |
使用指定的 TextWriter 和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 |
WriteXml(String, Boolean) |
使用指定的文件以 XML 形式写入 DataTable 的当前内容。 若要保存该表及其所有子代的数据,请将 |
WriteXml(Stream, Boolean) |
通过指定的 Stream,按 XML 形式编写 DataTable 的当前内容。 若要保存该表及其所有子代的数据,请将 |
WriteXml(XmlWriter, XmlWriteMode, Boolean) |
使用指定的 XmlWriter 和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 |
WriteXml(String) |
使用指定的文件以 XML 形式写入 DataTable 的当前内容。 |
WriteXml(TextWriter) |
通过指定的 TextWriter,按 XML 形式编写 DataTable 的当前内容。 |
WriteXml(Stream) | |
WriteXml(String, XmlWriteMode, Boolean) |
使用指定的文件和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 |
WriteXml(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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
WriteXml(TextWriter, Boolean)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
通过指定的 TextWriter,按 XML 形式编写 DataTable 的当前内容。 若要保存该表及其所有子代的数据,请将 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(TextWriter, XmlWriteMode)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
使用指定的 TextWriter 和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(String, XmlWriteMode)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
使用指定的文件和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(Stream, XmlWriteMode)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
使用指定的 XmlWriteMode 将 DataTable 的当前数据和架构(可选)写入指定的文件。 若要写入架构,请将 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(XmlWriter, Boolean)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(XmlWriter, XmlWriteMode)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
使用指定的 XmlWriter 和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(Stream, XmlWriteMode, Boolean)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
使用指定的 XmlWriteMode 将 DataTable 的当前数据和架构(可选)写入指定的文件。 若要写入架构,请将 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(TextWriter, XmlWriteMode, Boolean)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
使用指定的 TextWriter 和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(String, Boolean)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
使用指定的文件以 XML 形式写入 DataTable 的当前内容。 若要保存该表及其所有子代的数据,请将 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(Stream, Boolean)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(XmlWriter, XmlWriteMode, Boolean)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
使用指定的 XmlWriter 和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(String)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
使用指定的文件以 XML 形式写入 DataTable 的当前内容。
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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(TextWriter)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
通过指定的 TextWriter,按 XML 形式编写 DataTable 的当前内容。
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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(Stream)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(String, XmlWriteMode, Boolean)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- DataTable.cs
使用指定的文件和 XmlWriteMode 写入 DataTable 的当前数据和架构(可选)。 若要写入架构,请将 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(XmlWriter)
- Source:
- DataTable.cs
- Source:
- DataTable.cs
- Source:
- 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
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。