DataTable.WriteXml メソッド

定義

DataTable の現在の内容を XML として書き込みます。Writes the current contents of the DataTable as XML.

オーバーロード

WriteXml(TextWriter, Boolean)

DataTable の現在の内容を指定された TextWriter を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified TextWriter. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(TextWriter, XmlWriteMode)

指定した DataTableTextWriter を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(String, XmlWriteMode)

指定したファイルと DataTable を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(Stream, XmlWriteMode)

指定した DataTable を使用して、XmlWriteMode の現在のデータを、指定したファイルに書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(XmlWriter, Boolean)

DataTable の現在の内容を指定された XmlWriter を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified XmlWriter.

WriteXml(XmlWriter, XmlWriteMode)

指定した DataTableXmlWriter を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema.

WriteXml(Stream, XmlWriteMode, Boolean)

指定した DataTable を使用して、XmlWriteMode の現在のデータを、指定したファイルに書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(TextWriter, XmlWriteMode, Boolean)

指定した DataTableTextWriter を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(String, Boolean)

指定したファイルを使用して DataTable の現在の内容を XML で書き込みます。Writes the current contents of the DataTable as XML using the specified file. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(Stream, Boolean)

DataTable の現在の内容を指定された Stream を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified Stream. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(XmlWriter, XmlWriteMode, Boolean)

指定した DataTableXmlWriter を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(String)

指定したファイルを使用して DataTable の現在の内容を XML で書き込みます。Writes the current contents of the DataTable as XML using the specified file.

WriteXml(TextWriter)

DataTable の現在の内容を指定された TextWriter を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified TextWriter.

WriteXml(Stream)

DataTable の現在の内容を指定された Stream を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified Stream.

WriteXml(String, XmlWriteMode, Boolean)

指定したファイルと DataTable を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

WriteXml(XmlWriter)

DataTable の現在の内容を指定された XmlWriter を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified XmlWriter.

次のコンソールアプリケーションは、2つの DataTable インスタンスを作成し、それぞれを DataSetに追加して、2つのテーブルに関連する DataRelation を作成します。次に、WriteXml メソッドを使用して、親テーブルに含まれるデータを TextWriterに書き込みます。The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXml method to write the data contained within the parent table to a TextWriter. この例では、writeHierarchy パラメーターをそれぞれの値に設定するときの動作を示します。The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

注意

この例では、WriteXml のオーバーロードされたバージョンのいずれかを使用する方法を示します。This example shows how to use one of the overloaded versions of WriteXml. 使用できるその他の例については、個々のオーバーロードに関するトピックを参照してください。For other examples that might be available, see the individual overload topics.

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

この例では、次の出力がコンソール ウィンドウに表示されます。The example displays the following output in the console window:

==============================  
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 メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

WriteXml(TextWriter, Boolean)

DataTable の現在の内容を指定された TextWriter を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified TextWriter. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

内容を書き込む対象の TextWriterThe TextWriter with which to write the content.

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫の内容を書き込みます。If true, write the contents of the current table and all its descendants. false (既定値) の場合は、現在のテーブルのデータのみを書き込みます。If false (the default value), write the data for the current table only.

次のコンソールアプリケーションは、2つの DataTable インスタンスを作成し、それぞれを DataSetに追加して、2つのテーブルに関連する DataRelation を作成します。次に、WriteXml メソッドを使用して、親テーブルに含まれるデータを TextWriterに書き込みます。The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXml method to write the data contained within the parent table to a TextWriter. この例では、writeHierarchy パラメーターを trueに設定するときの動作を示します。The example demonstrates the behavior when setting the writeHierarchy parameter to 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 メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

通常、WriteXml メソッドは、現在のテーブルのデータのみを書き込みます。Normally the WriteXml method writes the data only for the current table. 現在のテーブルとそのすべての子孫の関連テーブルのデータを書き込むには、writeHierarchy パラメーターを trueに設定してメソッドを呼び出します。To write the data for the current table and all its descendant, related tables, call the method with the writeHierarchy parameter set to true.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(TextWriter, XmlWriteMode)

指定した DataTableTextWriter を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema.

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

ドキュメントを書き込むために使用する TextWriterThe TextWriter used to write the document.

mode
XmlWriteMode

XmlWriteMode 値の 1 つ。One of the XmlWriteMode values.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(String, XmlWriteMode)

指定したファイルと DataTable を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to 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

データが書き込まれるファイルの名前。The name of the file to which the data will be written.

mode
XmlWriteMode

XmlWriteMode 値の 1 つ。One of the XmlWriteMode values.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(Stream, XmlWriteMode)

指定した DataTable を使用して、XmlWriteMode の現在のデータを、指定したファイルに書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema.

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

パラメーター

stream
Stream

データが書き込まれるストリーム。The stream to which the data will be written.

mode
XmlWriteMode

XmlWriteMode 値の 1 つ。One of the XmlWriteMode values.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(XmlWriter, Boolean)

DataTable の現在の内容を指定された XmlWriter を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified XmlWriter.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, bool writeHierarchy);
public void WriteXml (System.Xml.XmlWriter writer, bool writeHierarchy);
member this.WriteXml : System.Xml.XmlWriter * bool -> unit
Public Sub WriteXml (writer As XmlWriter, writeHierarchy As Boolean)

パラメーター

writer
XmlWriter

内容の書き込みに使用する XmlWriterThe XmlWriter with which to write the contents.

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫の内容を書き込みます。If true, write the contents of the current table and all its descendants. false (既定値) の場合は、現在のテーブルのデータのみを書き込みます。If false (the default value), write the data for the current table only.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

通常、WriteXml メソッドは、現在のテーブルのデータのみを書き込みます。Normally the WriteXml method writes the data only for the current table. 現在のテーブルとその子孫のすべての関連テーブルのデータを書き込むには、writeHierarchy パラメーターを trueに設定してメソッドを呼び出します。To write the data for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(XmlWriter, XmlWriteMode)

指定した DataTableXmlWriter を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, System::Data::XmlWriteMode mode);
public void WriteXml (System.Xml.XmlWriter writer, System.Data.XmlWriteMode mode);
member this.WriteXml : System.Xml.XmlWriter * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (writer As XmlWriter, mode As XmlWriteMode)

パラメーター

writer
XmlWriter

ドキュメントを書き込むために使用する XmlWriterThe XmlWriter used to write the document.

mode
XmlWriteMode

XmlWriteMode 値の 1 つ。One of the XmlWriteMode values.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(Stream, XmlWriteMode, Boolean)

指定した DataTable を使用して、XmlWriteMode の現在のデータを、指定したファイルに書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable to the specified file using the specified XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to 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);
member this.WriteXml : System.IO.Stream * System.Data.XmlWriteMode * bool -> unit

パラメーター

stream
Stream

データが書き込まれるストリーム。The stream to which the data will be written.

mode
XmlWriteMode

XmlWriteMode 値の 1 つ。One of the XmlWriteMode values.

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫の内容を書き込みます。If true, write the contents of the current table and all its descendants. false (既定値) の場合は、現在のテーブルのデータのみを書き込みます。If false (the default value), write the data for the current table only.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

通常、WriteXml メソッドは、現在のテーブルのデータのみを保存します。Normally, the WriteXml method saves data only for the current table. WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

通常、WriteXml メソッドは、現在のテーブルのデータのみを書き込みます。Normally the WriteXml method writes the data only for the current table. 現在のテーブルとそのすべての子孫の関連テーブルのデータを書き込むには、writeHierarchy パラメーターを trueに設定してメソッドを呼び出します。To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(TextWriter, XmlWriteMode, Boolean)

指定した DataTableTextWriter を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified TextWriter and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to 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);
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

ドキュメントを書き込むために使用する TextWriterThe TextWriter used to write the document.

mode
XmlWriteMode

XmlWriteMode 値の 1 つ。One of the XmlWriteMode values.

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫の内容を書き込みます。If true, write the contents of the current table and all its descendants. false (既定値) の場合は、現在のテーブルのデータのみを書き込みます。If false (the default value), write the data for the current table only.

次のコンソールアプリケーションは、2つの DataTable インスタンスを作成し、それぞれを DataSetに追加して、2つのテーブルに関連する DataRelation を作成します。次に、WriteXml メソッドを使用して、親テーブルに含まれるデータを TextWriterに書き込みます。The following console application creates two DataTable instances, adds each to a DataSet, creates a DataRelation relating the two tables, and then uses the WriteXml method to write the data contained within the parent table to a TextWriter. この例では、writeHierarchy パラメーターをそれぞれの値に設定するときの動作を示します。The example demonstrates the behavior when setting the writeHierarchy parameter to each of its values.

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

この例では、次の出力がコンソール ウィンドウに表示されます。The example displays the following output in the console window:

==============================  
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 メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

通常、WriteXml メソッドは、現在のテーブルのデータのみを保存します。Normally, the WriteXml method saves data only for the current table. WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

通常、WriteXml メソッドは、現在のテーブルのデータのみを書き込みます。Normally the WriteXml method writes the data only for the current table. 現在のテーブルとそのすべての子孫の関連テーブルのデータを書き込むには、writeHierarchy パラメーターを trueに設定してメソッドを呼び出します。To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(String, Boolean)

指定したファイルを使用して DataTable の現在の内容を XML で書き込みます。Writes the current contents of the DataTable as XML using the specified file. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to 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 データの書き込み先ファイル。The file to which to write the XML data.

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫の内容を書き込みます。If true, write the contents of the current table and all its descendants. false (既定値) の場合は、現在のテーブルのデータのみを書き込みます。If false (the default value), write the data for the current table only.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

通常、WriteXml メソッドは、現在のテーブルのデータのみを書き込みます。Normally the WriteXml method writes the data only for the current table. 現在のテーブルとそのすべての子孫の関連テーブルのデータを書き込むには、writeHierarchy パラメーターを trueに設定してメソッドを呼び出します。To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(Stream, Boolean)

DataTable の現在の内容を指定された Stream を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified Stream. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to true.

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

パラメーター

stream
Stream

データが書き込まれるストリーム。The stream to which the data will be written.

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫の内容を書き込みます。If true, write the contents of the current table and all its descendants. false (既定値) の場合は、現在のテーブルのデータのみを書き込みます。If false (the default value), write the data for the current table only.

注釈

WriteXmlSchema メソッドを使用して、DataTable のスキーマを XML ドキュメントに書き込みます。Use the WriteXmlSchema method to write the schema for a DataTable to an XML document. スキーマには、テーブル、リレーションシップ、および制約の定義が含まれます。The schema includes table, relation, and constraint definitions.

XML スキーマは、XSD 標準を使用して記述されます。The XML schema is written using the XSD standard.

XML ドキュメントにデータを書き込むには、WriteXml メソッドを使用します。To write the data to an XML document, use the WriteXml method.

通常、WriteXml メソッドは、現在のテーブルのデータのみを書き込みます。Normally the WriteXml method writes the data only for the current table. 現在のテーブルとそのすべての子孫の関連テーブルのデータを書き込むには、writeHierarchy パラメーターを trueに設定してメソッドを呼び出します。To write the data for the current table and all of its descendant, related tables, call the method with the writeHierarchy parameter set to true.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(XmlWriter, XmlWriteMode, Boolean)

指定した DataTableXmlWriter を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified XmlWriter and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to 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);
member this.WriteXml : System.Xml.XmlWriter * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (writer As XmlWriter, mode As XmlWriteMode, writeHierarchy As Boolean)

パラメーター

writer
XmlWriter

ドキュメントを書き込むために使用する XmlWriterThe XmlWriter used to write the document.

mode
XmlWriteMode

XmlWriteMode 値の 1 つ。One of the XmlWriteMode values.

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫の内容を書き込みます。If true, write the contents of the current table and all its descendants. false (既定値) の場合は、現在のテーブルのデータのみを書き込みます。If false (the default value), write the data for the current table only.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

通常、WriteXml メソッドは、現在のテーブルのデータのみを書き込みます。Normally the WriteXml method writes the data only for the current table. 現在のテーブルとその子孫のすべての関連テーブルのデータを書き込むには、writeHierarchy パラメーターを trueに設定してメソッドを呼び出します。To write the data for the current table and its entire descendant, related tables, call the method with the writeHierarchy parameter set to true.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(String)

指定したファイルを使用して DataTable の現在の内容を XML で書き込みます。Writes the current contents of the DataTable as XML using the specified file.

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 データの書き込み先ファイル。The file to which to write the XML data.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(TextWriter)

DataTable の現在の内容を指定された TextWriter を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified TextWriter.

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

内容を書き込む対象の TextWriterThe TextWriter with which to write the content.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(Stream)

DataTable の現在の内容を指定された Stream を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified Stream.

public:
 void WriteXml(System::IO::Stream ^ stream);
public void WriteXml (System.IO.Stream stream);
member this.WriteXml : System.IO.Stream -> unit

パラメーター

stream
Stream

データが書き込まれるストリーム。The stream to which the data will be written.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that includes the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(String, XmlWriteMode, Boolean)

指定したファイルと DataTable を使用して、XmlWriteMode の現在のデータを書き込みます。オプションでスキーマを書き込むこともできます。Writes the current data, and optionally the schema, for the DataTable using the specified file and XmlWriteMode. スキーマを書き込むには、mode パラメーターの値を WriteSchema に設定します。To write the schema, set the value for the mode parameter to WriteSchema. テーブルのデータとその子孫をすべて保存するには、writeHierarchy パラメーターを true に設定します。To save the data for the table and all its descendants, set the writeHierarchy parameter to 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

データが書き込まれるファイルの名前。The name of the file to which the data will be written.

mode
XmlWriteMode

XmlWriteMode 値の 1 つ。One of the XmlWriteMode values.

writeHierarchy
Boolean

true の場合は、現在のテーブルとその子孫の内容を書き込みます。If true, write the contents of the current table and all its descendants. false (既定値) の場合は、現在のテーブルのデータのみを書き込みます。If false (the default value), write the data for the current table only.

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

通常、WriteXml メソッドは、現在のテーブルのデータのみを保存します。Normally, the WriteXml method saves data only for the current table. 現在のテーブルとすべてのスキーマのデータを保存するには、WriteXml メソッドを使用して、データのみ、または DataTable から XML ドキュメントへのデータとスキーマの両方を書き込む方法を提供します。一方、WriteXmlSchema メソッドでは、スキーマのみを書き込みます。If you want to save the data for the current table and all of schema, the WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

通常、WriteXml メソッドは、現在のテーブルのデータのみを書き込みます。Normally the WriteXml method writes the data only for the current table. 現在のテーブルとすべての子孫の関連テーブルのデータを書き込むには、writeHierarchy パラメーターを trueに設定してメソッドを呼び出します。To write the data for the current table and all descendant, related tables, call the method with the writeHierarchy parameter set to true.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

WriteXml(XmlWriter)

DataTable の現在の内容を指定された XmlWriter を使用して XML として書き込みます。Writes the current contents of the DataTable as XML using the specified XmlWriter.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer);
public void WriteXml (System.Xml.XmlWriter writer);
member this.WriteXml : System.Xml.XmlWriter -> unit
Public Sub WriteXml (writer As XmlWriter)

パラメーター

writer
XmlWriter

内容の書き込みに使用する XmlWriterThe XmlWriter with which to write the contents.

実装

注釈

WriteXml メソッドを使用すると、データのみ、またはデータとスキーマの両方を DataTable から XML ドキュメントに書き込むことができます。一方、WriteXmlSchema メソッドでは、スキーマのみが書き込まれます。The WriteXml method provides a way to write either data only, or both data and schema from a DataTable into an XML document, whereas the WriteXmlSchema method writes only the schema. データとスキーマの両方を書き込むには、XmlWriteMode パラメーターを含むオーバーロードのいずれかを使用し、その値を WriteSchemaに設定します。To write both data and schema, use one of the overloads that include the XmlWriteMode parameter, and set its value to WriteSchema.

ReadXml メソッドと ReadXmlSchema メソッドについても同様です。Note that the same is true for the ReadXml and ReadXmlSchema methods, respectively. XML データ、またはスキーマとデータの両方を DataTableに読み取るには、ReadXml メソッドを使用します。To read XML data, or both schema and data into the DataTable, use the ReadXml method. スキーマのみを読み取るには、ReadXmlSchema メソッドを使用します。To read just the schema, use the ReadXmlSchema method.

注意

読み取りまたは書き込みを行う DataRow 内の列の型が IDynamicMetaObjectProvider を実装していて、IXmlSerializableを実装していない場合、InvalidOperationException がスローされます。An InvalidOperationException will be thrown if a column type in the DataRow being read from or written to implements IDynamicMetaObjectProvider and does not implement IXmlSerializable.

こちらもご覧ください

適用対象