DataTable.WriteXml 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 DataTable 的目前內容寫成 XML。
多載
WriteXml(TextWriter, Boolean) |
使用指定的 TextWriter,將 DataTable 目前的內容寫入為 XML。 若要儲存資料表及其所有子系的資料,請將 |
WriteXml(TextWriter, XmlWriteMode) |
使用指定的 DataTable 和 TextWriter,寫入 XmlWriteMode 的目前資料,並選擇性寫入結構描述。 若要寫入結構描述,請設定 |
WriteXml(String, XmlWriteMode) |
使用指定的檔案和 DataTable,寫入 XmlWriteMode 的目前資料,並選擇性寫入結構描述。 若要寫入結構描述,請設定 |
WriteXml(Stream, XmlWriteMode) |
使用指定的 DataTable,寫入 XmlWriteMode 的目前資料 (並選擇性寫入結構描述) 至指定的檔案。 若要寫入結構描述,請設定 |
WriteXml(XmlWriter, Boolean) | |
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) |
使用指定的 Stream,將 DataTable 目前的內容寫入為 XML。 若要儲存資料表及其所有子系的資料,請將 |
WriteXml(XmlWriter, XmlWriteMode, Boolean) |
使用指定的 DataTable 和 XmlWriter,寫入 XmlWriteMode 的目前資料,並選擇性寫入結構描述。 若要寫入結構描述,請設定 |
WriteXml(String) |
使用指定的檔案,將 DataTable 目前的內容寫成 XML。 |
WriteXml(TextWriter) |
使用指定的 TextWriter,將 DataTable 目前的內容寫入為 XML。 |
WriteXml(Stream) | |
WriteXml(String, XmlWriteMode, Boolean) |
使用指定的檔案和 DataTable,寫入 XmlWriteMode 的目前資料,並選擇性寫入結構描述。 若要寫入結構描述,請設定 |
WriteXml(XmlWriter) |
範例
下列主控台應用程式會建立兩DataTable個實例,將每個實例新增至 ,建立與兩個DataRelation資料表相關的 ,然後使用 WriteXml 方法將父資料表中包含的數據寫入至 TextWriterDataSet。 此範例示範將 參數設定 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
。
請注意,和 ReadXmlSchema 方法的相同ReadXml是分別的。 若要讀取 XML 資料,或將架構和數據讀入 DataTable
,請使用 ReadXml
方法。 若要唯讀取架構,請使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果要從 中讀取或寫入實IDynamicMetaObjectProvider作的資料行類型DataRow
,而且不會實IXmlSerializable作 ,則會擲回 。
WriteXml(TextWriter, Boolean)
- 來源:
- DataTable.cs
- 來源:
- DataTable.cs
- 來源:
- DataTable.cs
使用指定的 TextWriter,將 DataTable 目前的內容寫入為 XML。 若要儲存資料表及其所有子系的資料,請將 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個實例,將每個實例新增至 ,建立與兩個DataRelation資料表相關的 ,然後使用 WriteXml 方法將父資料表中包含的數據寫入至 TextWriterDataSet。 此範例示範將 參數設定 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如果要讀取或寫入至 實IDynamicMetaObjectProvider作且未實IXmlSerializable作 的資料行類型,DataRow
則會擲回 。
另請參閱
適用於
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如果要讀取或寫入至 實IDynamicMetaObjectProvider作且未實IXmlSerializable作 的資料行類型,DataRow
則會擲回 。
另請參閱
適用於
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
。
請注意,和 ReadXmlSchema 方法的相同ReadXml是分別的。 若要讀取 XML 資料,或將架構和數據讀入 DataTable
,請使用 ReadXml
方法。 若要唯讀取架構,請使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果要從 中讀取或寫入實IDynamicMetaObjectProvider作的資料行類型DataRow
,而且不會實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
。
請注意,和 ReadXmlSchema 方法的相同ReadXml是分別的。 若要讀取 XML 資料,或將架構和數據讀入 DataTable
,請使用 ReadXml
方法。 若要唯讀取架構,請使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果要從 中讀取或寫入實IDynamicMetaObjectProvider作的資料行類型DataRow
,而且不會實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
。
請注意,和 ReadXmlSchema 方法的相同ReadXml是分別的。 若要讀取 XML 資料,或將架構和數據讀入 DataTable
,請使用 ReadXml
方法。 若要唯讀取架構,請使用 ReadXmlSchema
方法。
一般而言, WriteXml
方法只會寫入目前數據表的數據。 若要寫入目前數據表的數據及其整個子代相關數據表,請使用 設定為true
的參數呼叫 方法writeHierarchy
。
注意
InvalidOperationException如果要從 中讀取或寫入實IDynamicMetaObjectProvider作的資料行類型DataRow
,而且不會實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
。
請注意,和 ReadXmlSchema 方法的相同ReadXml是分別的。 若要讀取 XML 資料,或將架構和數據讀入 DataTable
,請使用 ReadXml
方法。 若要唯讀取架構,請使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果要從 中讀取或寫入實IDynamicMetaObjectProvider作的資料行類型DataRow
,而且不會實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
。
請注意,和 ReadXmlSchema 方法的相同ReadXml是分別的。 若要讀取 XML 資料,或將架構和數據讀入 DataTable
,請使用 ReadXml
方法。 若要唯讀取架構,請使用 ReadXmlSchema
方法。
一般而言, WriteXml
方法只會儲存目前數據表的數據。 方法 WriteXml
提供一種方式,只寫入數據,或將數據和架構從 DataTable
寫入 XML 檔,而 WriteXmlSchema
方法只會寫入架構。 若要同時寫入資料和架構,請使用包含 XmlWriteMode
參數的其中一個多載,並將其值設定為 WriteSchema
。
請注意,和 ReadXmlSchema 方法的相同ReadXml是分別的。 若要讀取 XML 資料,或將架構和數據讀入 DataTable
,請使用 ReadXml
方法。 若要唯讀取架構,請使用 ReadXmlSchema
方法。
一般而言, WriteXml
方法只會寫入目前數據表的數據。 若要寫入目前資料表及其所有子系相關資料表的數據,請呼叫 方法,並將 writeHierarchy
參數設定為 true
。
注意
InvalidOperationException如果要從 中讀取或寫入實IDynamicMetaObjectProvider作的資料行類型DataRow
,而且不會實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個實例,將每個實例新增至 ,建立兩個DataRelation數據表的相關 ,然後使用 WriteXml 方法將父資料表內所包含的數據寫入至 TextWriterDataSet。 此範例示範將 參數設定 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
。
請注意,和 ReadXmlSchema 方法的相同ReadXml是分別的。 若要讀取 XML 資料,或將架構和數據讀入 DataTable
,請使用 ReadXml
方法。 若要唯讀取架構,請使用 ReadXmlSchema
方法。
一般而言, WriteXml
方法只會儲存目前數據表的數據。 方法 WriteXml 提供一種方式,只寫入數據,或將數據和架構從 DataTable 寫入 XML 檔,而 WriteXmlSchema 方法只會寫入架構。 若要同時寫入資料和架構,請使用包含 XmlWriteMode 參數的其中一個多載,並將其值設定為 WriteSchema
。
請注意,和 ReadXmlSchema 方法的相同ReadXml是分別的。 若要讀取 XML 資料,或將架構和數據讀入 DataTable
,請使用 ReadXml
方法。 若要唯讀取架構,請使用 ReadXmlSchema
方法。
一般而言, WriteXml
方法只會寫入目前數據表的數據。 若要寫入目前資料表及其所有子系相關資料表的數據,請呼叫 方法,並將 writeHierarchy
參數設定為 true
。
注意
InvalidOperationException如果要從 中讀取或寫入實IDynamicMetaObjectProvider作的資料行類型DataRow
,而且不會實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如果要讀取或寫入至 實IDynamicMetaObjectProvider作且未實IXmlSerializable作 的資料行類型,DataRow
則會擲回 。
另請參閱
適用於
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如果要讀取或寫入至 實IDynamicMetaObjectProvider作且未實IXmlSerializable作 的資料行類型,DataRow
則會擲回 。
另請參閱
適用於
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如果要讀取或寫入至 實IDynamicMetaObjectProvider作且未實IXmlSerializable作 的資料行類型,DataRow
則會擲回 。
另請參閱
適用於
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如果要讀取或寫入至 實IDynamicMetaObjectProvider作且未實IXmlSerializable作 的資料行類型,DataRow
則會擲回 。
另請參閱
適用於
WriteXml(TextWriter)
- 來源:
- DataTable.cs
- 來源:
- DataTable.cs
- 來源:
- DataTable.cs
使用指定的 TextWriter,將 DataTable 目前的內容寫入為 XML。
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如果要讀取或寫入至 實IDynamicMetaObjectProvider作且未實IXmlSerializable作 的資料行類型,DataRow
則會擲回 。
另請參閱
適用於
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如果要讀取或寫入至 實IDynamicMetaObjectProvider作且未實IXmlSerializable作 的資料行類型,DataRow
則會擲回 。
另請參閱
適用於
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如果要讀取或寫入至 實IDynamicMetaObjectProvider作且未實IXmlSerializable作 的資料行類型,DataRow
則會擲回 。
另請參閱
適用於
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如果要從 中讀取或寫入實IDynamicMetaObjectProvider作的資料行類型DataRow
,而且不會實IXmlSerializable作 ,則會擲回 。