DataSet.WriteXml 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 DataSet 写 XML 数据,还可以选择写架构。
重载
WriteXml(XmlWriter, XmlWriteMode) |
使用指定的 XmlWriter 和 XmlWriteMode 写入 DataSet 的当前数据和架构(可选)。 若要写入架构,请将 |
WriteXml(String, XmlWriteMode) |
使用指定的 XmlWriteMode 将 DataSet 的当前数据和架构(可选)写入指定的文件。 若要写入架构,请将 |
WriteXml(TextWriter, XmlWriteMode) |
使用指定的 TextWriter 和 XmlWriteMode 写入 DataSet 的当前数据和架构(可选)。 若要写入架构,请将 |
WriteXml(Stream, XmlWriteMode) |
使用指定的 Stream 和 XmlWriteMode 写入 DataSet 的当前数据和架构(可选)。 若要写入架构,请将 |
WriteXml(String) |
将 DataSet 的当前数据写入指定的文件。 |
WriteXml(TextWriter) |
使用指定的 DataSet 为 TextWriter 写当前数据。 |
WriteXml(XmlWriter) | |
WriteXml(Stream) |
WriteXml(XmlWriter, XmlWriteMode)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
使用指定的 XmlWriter 和 XmlWriteMode 写入 DataSet 的当前数据和架构(可选)。 若要写入架构,请将 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 值之一。
示例
以下示例创建一个 System.IO.FileStream 对象,该对象用于创建新的 XmlTextWriter。 对象 XmlTextWriter 与 方法一起使用 WriteXml 以编写 XML 文档。
private void WriteXmlToFile(DataSet thisDataSet)
{
if (thisDataSet == null) { return; }
// Create a file name to write to.
string filename = "XmlDoc.xml";
// Create the FileStream to write with.
System.IO.FileStream stream = new System.IO.FileStream
(filename, System.IO.FileMode.Create);
// Create an XmlTextWriter with the fileStream.
System.Xml.XmlTextWriter xmlWriter =
new System.Xml.XmlTextWriter(stream,
System.Text.Encoding.Unicode);
// Write to the file with the WriteXml method.
thisDataSet.WriteXml(xmlWriter);
xmlWriter.Close();
}
Private Sub WriteXmlToFile(thisDataSet As DataSet)
If thisDataSet Is Nothing Then
Return
End If
' Create a file name to write to.
Dim filename As String = "XmlDoc.xml"
' Create the FileStream to write with.
Dim stream As New System.IO.FileStream _
(filename, System.IO.FileMode.Create)
' Create an XmlTextWriter with the fileStream.
Dim xmlWriter As New System.Xml.XmlTextWriter _
(stream, System.Text.Encoding.Unicode)
' Write to the file with the WriteXml method.
thisDataSet.WriteXml(xmlWriter)
xmlWriter.Close()
End Sub
注解
方法 WriteXml
提供了一种只将数据或两者都从 DataSet 写入 XML 文档的方法,而 WriteXmlSchema 该方法只写入架构。 若要同时写入数据和架构,请将 mode
参数设置为 WriteSchema
。
请注意, ReadXml 和 ReadXmlSchema 方法的这一点也不同。 若要将 XML 数据或架构和数据读入 , DataSet
请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果从 中读取或写入的 中的DataRow
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(String, XmlWriteMode)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
使用指定的 XmlWriteMode 将 DataSet 的当前数据和架构(可选)写入指定的文件。 若要写入架构,请将 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 方法编写 XML 文档。
private void WriteXmlToFile(DataSet thisDataSet)
{
if (thisDataSet == null) { return; }
// Create a file name to write to.
string filename = "XmlDoc.xml";
// Write to the file with the WriteXml method.
thisDataSet.WriteXml(filename);
}
Private Sub WriteXmlToFile(thisDataSet As DataSet)
If thisDataSet Is Nothing Then
Return
End If
' Create a file name to write to.
Dim filename As String = "XmlDoc.xml"
' Write to the file with the WriteXml method.
thisDataSet.WriteXml(filename)
End Sub
注解
方法 WriteXml
提供了一种只将数据或两者都从 DataSet 写入 XML 文档的方法,而 WriteXmlSchema 该方法只写入架构。 若要同时写入数据和架构,请将 mode
参数设置为 WriteSchema
。
请注意, ReadXml 和 ReadXmlSchema 方法的这一点也不同。 若要将 XML 数据或架构和数据读入 , DataSet
请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果从 中读取或写入的 中的DataRow
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(TextWriter, XmlWriteMode)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
使用指定的 TextWriter 和 XmlWriteMode 写入 DataSet 的当前数据和架构(可选)。 若要写入架构,请将 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 值之一。
示例
以下示例首先创建一个包含一DataTable个 、两列和十行的简单 DataSet 。 架构 DataSet 和数据通过调用 WriteXml 方法写入磁盘。 创建第二 DataSet 个,并使用 ReadXml 方法填充架构和数据。
private void DemonstrateReadWriteXMLDocumentWithFileStream()
{
// Create a DataSet with one table and two columns.
DataSet originalDataSet = new DataSet("dataSet");
DataTable table = new DataTable("table");
DataColumn idColumn = new DataColumn("id",
Type.GetType("System.Int32"));
idColumn.AutoIncrement= true;
DataColumn itemColumn = new DataColumn("item");
table.Columns.Add(idColumn);
table.Columns.Add(itemColumn);
originalDataSet.Tables.Add(table);
// Add ten rows.
DataRow newRow;
for(int i = 0; i < 10; i++)
{
newRow = table.NewRow();
newRow["item"]= "item " + i;
table.Rows.Add(newRow);
}
originalDataSet.AcceptChanges();
// Print out values of each table in the DataSet
// using the function defined below.
PrintValues(originalDataSet, "Original DataSet");
// Write the schema and data to XML file with FileStream.
string xmlFilename = "XmlDocument.xml";
System.IO.FileStream streamWrite = new System.IO.FileStream
(xmlFilename, System.IO.FileMode.Create);
// Use WriteXml to write the XML document.
originalDataSet.WriteXml(streamWrite);
// Close the FileStream.
streamWrite.Close();
// Dispose of the original DataSet.
originalDataSet.Dispose();
// Create a new DataSet.
DataSet newDataSet = new DataSet("New DataSet");
// Read the XML document back in.
// Create new FileStream to read schema with.
System.IO.FileStream streamRead = new System.IO.FileStream
(xmlFilename,System.IO.FileMode.Open);
newDataSet.ReadXml(streamRead);
// Print out values of each table in the DataSet
// using the function defined below.
PrintValues(newDataSet,"New DataSet");
}
private void PrintValues(DataSet dataSet, string label)
{
Console.WriteLine("\n" + label);
foreach(DataTable table in dataSet.Tables)
{
Console.WriteLine("TableName: " + table.TableName);
foreach(DataRow row in table.Rows)
{
foreach(DataColumn column in table.Columns)
{
Console.Write("\table " + row[column] );
}
Console.WriteLine();
}
}
}
Private Sub DemonstrateReadWriteXMLDocumentWithFileStream()
' Create a DataSet with one table and two columns.
Dim originalDataSet As New DataSet("dataSet")
Dim table As New DataTable("table")
Dim idColumn As New DataColumn("id", _
Type.GetType("System.Int32"))
idColumn.AutoIncrement = True
Dim itemColumn As New DataColumn("item")
table.Columns.Add(idColumn)
table.Columns.Add(itemColumn)
originalDataSet.Tables.Add(table)
' Add ten rows.
Dim newRow As DataRow
Dim i As Integer
For i = 0 To 9
newRow = table.NewRow()
newRow("item") = "item " & i.ToString()
table.Rows.Add(newRow)
Next i
originalDataSet.AcceptChanges()
' Print out values of each table in the DataSet
' using the function defined below.
PrintValues(originalDataSet, "Original DataSet")
' Write the schema and data to XML file with FileStream.
Dim xmlFilename As String = "XmlDocument.xml"
Dim streamWrite As New System.IO.FileStream _
(xmlFilename, System.IO.FileMode.Create)
' Use WriteXml to write the XML document.
originalDataSet.WriteXml(streamWrite)
' Close the FileStream.
streamWrite.Close()
' Dispose of the original DataSet.
originalDataSet.Dispose()
' Create a new DataSet.
Dim newDataSet As New DataSet("New DataSet")
' Read the XML document back in.
' Create new FileStream to read schema with.
Dim streamRead As New System.IO.FileStream _
(xmlFilename, System.IO.FileMode.Open)
newDataSet.ReadXml(streamRead)
' Print out values of each table in the DataSet
' using the function defined below.
PrintValues(newDataSet, "New DataSet")
End Sub
Private Sub PrintValues(dataSet As DataSet, label As String)
Console.WriteLine(ControlChars.Cr & label)
Dim table As DataTable
Dim row As DataRow
Dim column As DataColumn
For Each table In dataSet.Tables
Console.WriteLine("TableName: " & table.TableName)
For Each row In table.Rows
For Each column In table.Columns
Console.Write(ControlChars.Tab & " " & _
row(column).ToString())
Next column
Console.WriteLine()
Next row
Next table
End Sub
注解
方法 WriteXml
提供了一种只将数据或两者都从 DataSet 写入 XML 文档的方法,而 WriteXmlSchema 该方法只写入架构。 若要同时写入数据和架构,请将 mode
参数设置为 WriteSchema
。
请注意, ReadXml 和 ReadXmlSchema 方法的这一点也不同。 若要将 XML 数据或架构和数据读入 , DataSet
请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果从 中读取或写入的 中的DataRow
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(Stream, XmlWriteMode)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
使用指定的 Stream 和 XmlWriteMode 写入 DataSet 的当前数据和架构(可选)。 若要写入架构,请将 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)
参数
- mode
- XmlWriteMode
XmlWriteMode 值之一。
注解
方法 WriteXml
提供了一种只将数据或两者都从 DataSet 写入 XML 文档的方法,而 WriteXmlSchema 该方法只写入架构。 若要同时写入数据和架构,请将 mode
参数设置为 WriteSchema
。
请注意, ReadXml 和 ReadXmlSchema 方法的这一点也不同。 若要将 XML 数据或架构和数据读入 , DataSet
请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果从 中读取或写入的 中的DataRow
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(String)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
将 DataSet 的当前数据写入指定的文件。
public:
void WriteXml(System::String ^ fileName);
public void WriteXml (string fileName);
member this.WriteXml : string -> unit
Public Sub WriteXml (fileName As String)
参数
- fileName
- String
要向其写入的文件的名称(包括路径)。
例外
注解
方法 WriteXml
提供了一种只将数据或两者都从 DataSet 写入 XML 文档的方法,而 WriteXmlSchema 该方法只写入架构。 若要同时写入数据和架构,请使用包含 mode
参数的重载之一,并将其值设置为 WriteSchema
。
请注意, ReadXml 和 ReadXmlSchema 方法的这一点也不同。 若要将 XML 数据或架构和数据读入 , DataSet
请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果从 中读取或写入的 中的DataRow
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(TextWriter)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.cs
使用指定的 DataSet 为 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
提供了一种只将数据或两者都从 DataSet 写入 XML 文档的方法,而 WriteXmlSchema 该方法只写入架构。 若要同时写入数据和架构,请使用包含 mode
参数的重载之一,并将其值设置为 WriteSchema
。
请注意, ReadXml 和 ReadXmlSchema 方法的这一点也不同。 若要将 XML 数据或架构和数据读入 , DataSet
请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果从 中读取或写入的 中的DataRow
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(XmlWriter)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.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
提供了一种只将数据或两者都从 DataSet 写入 XML 文档的方法,而 WriteXmlSchema 该方法只写入架构。 若要同时写入数据和架构,请使用包含 mode
参数的重载之一,并将其值设置为 WriteSchema
。
请注意, ReadXml 和 ReadXmlSchema 方法的这一点也不同。 若要将 XML 数据或架构和数据读入 , DataSet
请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果从 中读取或写入的 中的DataRow
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。
另请参阅
适用于
WriteXml(Stream)
- Source:
- DataSet.cs
- Source:
- DataSet.cs
- Source:
- DataSet.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)
参数
示例
以下示例创建 一个 System.IO.FileStream 对象。 然后, 对象与 方法一起使用 WriteXml 来编写 XML 文档。
private void WriteXmlToFile(DataSet thisDataSet)
{
if (thisDataSet == null) { return; }
// Create a file name to write to.
string filename = "XmlDoc.xml";
// Create the FileStream to write with.
System.IO.FileStream stream = new System.IO.FileStream
(filename, System.IO.FileMode.Create);
// Write to the file with the WriteXml method.
thisDataSet.WriteXml(stream);
}
Private Sub WriteXmlToFile(thisDataSet As DataSet)
If thisDataSet Is Nothing Then
Return
End If
' Create a file name to write to.
Dim filename As String = "XmlDoc.xml"
' Create the FileStream to write with.
Dim stream As New System.IO.FileStream _
(filename, System.IO.FileMode.Create)
' Write to the file with the WriteXml method.
thisDataSet.WriteXml(stream)
End Sub
注解
方法 WriteXml
提供了一种只将数据或两者都从 DataSet 写入 XML 文档的方法,而 WriteXmlSchema 该方法只写入架构。 若要同时写入数据和架构,请使用包含 mode
参数的重载之一,并将其值设置为 WriteSchema
。
请注意, ReadXml 和 ReadXmlSchema 方法的这一点也不同。 若要将 XML 数据或架构和数据读入 , DataSet
请使用 ReadXml
方法。 若要仅读取架构,请使用 ReadXmlSchema
方法。
注意
InvalidOperationException如果从 中读取或写入的 中的DataRow
列类型实现了 并且未实现 IDynamicMetaObjectProviderIXmlSerializable,则将引发 。