次の方法で共有


DataTable.ReadXml メソッド

定義

XML スキーマとデータを DataTable に読み込みます。

オーバーロード

ReadXml(Stream)

指定した DataTable を使用して、XML スキーマとデータを Stream に読み込みます。

ReadXml(TextReader)

指定した DataTable を使用して、XML スキーマとデータを TextReader に読み込みます。

ReadXml(String)

指定したファイルから、XML スキーマとデータを DataTable に読み込みます。

ReadXml(XmlReader)

指定した DataTable を使用して、XML スキーマとデータを XmlReader に読み込みます。

注釈

メソッドは ReadXml 、データのみ、またはデータとスキーマの両方を XML ドキュメントから に読み取る DataTable 方法を提供します ReadXmlSchema が、メソッドはスキーマのみを読み取ります。 データとスキーマの両方を読み取る場合は、 パラメーターを ReadXML 含む XmlReadMode オーバーロードのいずれかを使用し、その値を に ReadSchema設定します。

メソッドと WriteXmlSchema メソッドについても、それぞれ同じことが当てはまりますWriteXml。 XML データ、または からスキーマとデータの両方を DataTable書き込むには、 メソッドを使用します WriteXml 。 スキーマのみを記述するには、 メソッドを使用します WriteXmlSchema

注意

InvalidOperationExceptionから読み取られるか 書き込まれる 内のDataRow列型が を実装し、 を実装IDynamicMetaObjectProviderIXmlSerializableしていない場合は、 がスローされます。

ReadXml(Stream)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

指定した DataTable を使用して、XML スキーマとデータを Stream に読み込みます。

public:
 System::Data::XmlReadMode ReadXml(System::IO::Stream ^ stream);
public System.Data.XmlReadMode ReadXml (System.IO.Stream? stream);
public System.Data.XmlReadMode ReadXml (System.IO.Stream stream);
member this.ReadXml : System.IO.Stream -> System.Data.XmlReadMode
Public Function ReadXml (stream As Stream) As XmlReadMode

パラメーター

stream
Stream

Stream から派生するオブジェクト。

戻り値

データを読み込むために使用する XmlReadMode

次の例では、 DataTable 2 つの列と 10 行を含む を作成します。 この例では、 メソッドを DataTable 呼び出して、スキーマとデータをメモリ ストリームに WriteXml 書き込みます。 この例では、2 つ目 DataTable の を作成し、 メソッドを ReadXml 呼び出してスキーマとデータを入力します。

private static void DemonstrateReadWriteXMLDocumentWithStream()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintValues(table, "Original table");

    // Write the schema and data to XML in a memory stream.
    System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
    table.WriteXml(xmlStream, XmlWriteMode.WriteSchema);

    // Rewind the memory stream.
    xmlStream.Position = 0;

    DataTable newTable = new DataTable();
    newTable.ReadXml(xmlStream);

    // Print out values in the table.
    PrintValues(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

    // Add ten rows.
    DataRow row;
    for (int i = 0; i <= 9; i++)
    {
        row = table.NewRow();
        row["item"] = "item " + i;
        table.Rows.Add(row);
    }

    table.AcceptChanges();
    return table;
}

private static void PrintValues(DataTable table, string label)
{
    // Display the contents of the supplied DataTable:
    Console.WriteLine(label);
    foreach (DataRow row in table.Rows)
    {
        foreach (DataColumn column in table.Columns)
        {
            Console.Write("\t{0}", row[column]);
        }
        Console.WriteLine();
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithStream()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintValues(table, "Original table")

  ' Write the schema and data to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXml(xmlStream, XmlWriteMode.WriteSchema)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim newTable As New DataTable
  newTable.ReadXml(xmlStream)

  ' Print out values in the table.
  PrintValues(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) As DataTable
  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintValues(ByVal table As DataTable, ByVal label As String)
  ' Display the contents of the supplied DataTable:
  Console.WriteLine(label)
  For Each row As DataRow In table.Rows
    For Each column As DataColumn In table.Columns
      Console.Write("{0}{1}", ControlChars.Tab, row(column))
    Next column
    Console.WriteLine()
  Next row
End Sub

注釈

現在 DataTable とその子孫は、指定された Streamからのデータと共に読み込まれます。 このメソッドの動作は メソッドの DataSet.ReadXml 動作と同じですが、この場合、データは現在のテーブルとその子孫に対してのみ読み込まれます。

メソッドは ReadXml 、データのみ、またはデータとスキーマの両方を XML ドキュメントから に読み取る DataTable 方法を提供します ReadXmlSchema が、メソッドはスキーマのみを読み取ります。

メソッドと WriteXmlSchema メソッドについても、それぞれ同じことが当てはまりますWriteXml。 XML データ、または からスキーマとデータの両方を DataTable書き込むには、 メソッドを使用します WriteXml 。 スキーマのみを記述するには、 メソッドを使用します WriteXmlSchema

注意

InvalidOperationExceptionから読み取られるか 書き込まれる 内のDataRow列型が を実装し、 を実装IDynamicMetaObjectProviderIXmlSerializableしていない場合は、 がスローされます。

インライン スキーマが指定されている場合、インライン スキーマは、データを読み込む前に既存のリレーショナル構造を拡張するために使用されます。 競合 (たとえば、異なるデータ型で定義されている同じテーブル内の同じ列) がある場合は、例外が発生します。

インライン スキーマが指定されていない場合、リレーショナル構造は、XML ドキュメントの構造に従って、必要に応じて推論によって拡張されます。 すべてのデータを公開するために推論によってスキーマを拡張できない場合は、例外が発生します。

注意

DataSet 、("_") のような有効な XML 文字がシリアル化された XML でエスケープされている場合、XML 要素を対応する DataColumnDataTable 要素に関連付けません。 それ自体は DataSet 、XML 要素名内の無効な XML 文字のみをエスケープするため、同じもののみを使用できます。 XML 要素名の有効な文字をエスケープすると、処理中に 要素は無視されます。

こちらもご覧ください

適用対象

ReadXml(TextReader)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

指定した DataTable を使用して、XML スキーマとデータを TextReader に読み込みます。

public:
 System::Data::XmlReadMode ReadXml(System::IO::TextReader ^ reader);
public System.Data.XmlReadMode ReadXml (System.IO.TextReader? reader);
public System.Data.XmlReadMode ReadXml (System.IO.TextReader reader);
member this.ReadXml : System.IO.TextReader -> System.Data.XmlReadMode
Public Function ReadXml (reader As TextReader) As XmlReadMode

パラメーター

reader
TextReader

データを読み込むために使用する TextReader

戻り値

データを読み込むために使用する XmlReadMode

次の例では、 DataTable 2 つの列と 10 行を含む を作成します。 この例では、 メソッドを DataTable 呼び出して、スキーマとデータをメモリ ストリームに WriteXml 書き込みます。 この例では、2 つ目 DataTable の を作成し、 メソッドを ReadXml 呼び出してスキーマとデータを入力します。

private static void DemonstrateReadWriteXMLDocumentWithReader()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintValues(table, "Original table");

    // Write the schema and data to XML in a memory stream.
    System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
    table.WriteXml(xmlStream, XmlWriteMode.WriteSchema);

    // Rewind the memory stream.
    xmlStream.Position = 0;

    System.IO.StreamReader reader =
        new System.IO.StreamReader(xmlStream);
    DataTable newTable = new DataTable();
    newTable.ReadXml(reader);

    // Print out values in the table.
    PrintValues(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

    // Add ten rows.
    DataRow row;
    for (int i = 0; i <= 9; i++)
    {
        row = table.NewRow();
        row["item"] = "item " + i;
        table.Rows.Add(row);
    }

    table.AcceptChanges();
    return table;
}

private static void PrintValues(DataTable table, string label)
{
    Console.WriteLine(label);
    foreach (DataRow row in table.Rows)
    {
        foreach (DataColumn column in table.Columns)
        {
            Console.Write("\t{0}", row[column]);
        }
        Console.WriteLine();
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithReader()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintValues(table, "Original table")

  ' Write the schema and data to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXml(xmlStream, XmlWriteMode.WriteSchema)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim reader As New System.IO.StreamReader(xmlStream)
  Dim newTable As New DataTable
  newTable.ReadXml(reader)

  ' Print out values in the table.
  PrintValues(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
  As DataTable
  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintValues(ByVal table As DataTable, _
  ByVal label As String)
  Console.WriteLine(label)
  For Each row As DataRow In table.Rows
    For Each column As DataColumn In table.Columns
      Console.Write("{0}{1}", ControlChars.Tab, row(column))
    Next column
    Console.WriteLine()
  Next row
End Sub

注釈

現在 DataTable とその子孫は、指定された TextReaderからのデータと共に読み込まれます。 このメソッドの動作は メソッドの DataSet.ReadXml 動作と同じですが、この場合、データは現在のテーブルとその子孫に対してのみ読み込まれます。

メソッドは ReadXml 、データのみ、またはデータとスキーマの両方を XML ドキュメントから に読み取る DataTable 方法を提供します ReadXmlSchema が、メソッドはスキーマのみを読み取ります。

メソッドと WriteXmlSchema メソッドについても、それぞれ同じことが当てはまりますWriteXml。 XML データ、または からスキーマとデータの両方を DataTable書き込むには、 メソッドを使用します WriteXml 。 スキーマのみを記述するには、 メソッドを使用します WriteXmlSchema

注意

InvalidOperationExceptionから読み取られるか 書き込まれる 内のDataRow列型が を実装し、 を実装IDynamicMetaObjectProviderIXmlSerializableしていない場合は、 がスローされます。

インライン スキーマが指定されている場合、インライン スキーマは、データを読み込む前に既存のリレーショナル構造を拡張するために使用されます。 競合 (たとえば、異なるデータ型で定義されている同じテーブル内の同じ列) がある場合は、例外が発生します。

インライン スキーマが指定されていない場合、リレーショナル構造は、XML ドキュメントの構造に従って、必要に応じて推論によって拡張されます。 すべてのデータを公開するために推論によってスキーマを拡張できない場合は、例外が発生します。

注意

DataSet 、("_") のような有効な XML 文字がシリアル化された XML でエスケープされている場合、XML 要素を対応する DataColumnDataTable 要素に関連付けません。 それ自体は DataSet 、XML 要素名内の無効な XML 文字のみをエスケープするため、同じもののみを使用できます。 XML 要素名の有効な文字をエスケープすると、処理中に 要素は無視されます。

こちらもご覧ください

適用対象

ReadXml(String)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

指定したファイルから、XML スキーマとデータを DataTable に読み込みます。

public:
 System::Data::XmlReadMode ReadXml(System::String ^ fileName);
public System.Data.XmlReadMode ReadXml (string fileName);
member this.ReadXml : string -> System.Data.XmlReadMode
Public Function ReadXml (fileName As String) As XmlReadMode

パラメーター

fileName
String

データの読み取り元のファイルの名前。

戻り値

データを読み込むために使用する XmlReadMode

次の例では、 DataTable 2 つの列と 10 行を含む を作成します。 この例では、スキーマとデータを DataTable ディスクに書き込みます。 この例では、2 つ目 DataTable の を作成し、 メソッドを ReadXml 呼び出してスキーマとデータを入力します。

private static void DemonstrateReadWriteXMLDocumentWithString()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintValues(table, "Original table");

    string fileName = "C:\\TestData.xml";
    table.WriteXml(fileName, XmlWriteMode.WriteSchema);

    DataTable newTable = new DataTable();
    newTable.ReadXml(fileName);

    // Print out values in the table.
    PrintValues(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

    // Add ten rows.
    DataRow row;
    for (int i = 0; i <= 9; i++)
    {
        row = table.NewRow();
        row["item"] = "item " + i;
        table.Rows.Add(row);
    }

    table.AcceptChanges();
    return table;
}

private static void PrintValues(DataTable table, string label)
{
    Console.WriteLine(label);
    foreach (DataRow row in table.Rows)
    {
        foreach (DataColumn column in table.Columns)
        {
            Console.Write("\t{0}", row[column]);
        }
        Console.WriteLine();
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithString()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintValues(table, "Original table")

  ' Write the schema and data to XML in a file.
  Dim fileName As String = "C:\TestData.xml"
  table.WriteXml(fileName, XmlWriteMode.WriteSchema)

  Dim newTable As New DataTable
  newTable.ReadXml(fileName)

  ' Print out values in the table.
  PrintValues(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
  As DataTable

  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintValues(ByVal table As DataTable, _
  ByVal label As String)
  Console.WriteLine(label)
  For Each row As DataRow In table.Rows
    For Each column As DataColumn In table.Columns
      Console.Write("{0}{1}", ControlChars.Tab, row(column))
    Next column
    Console.WriteLine()
  Next row
End Sub

注釈

現在 DataTable とその子孫は、指定された 内の という名前のファイルのデータと共に String読み込まれます。 このメソッドの動作は メソッドの DataSet.ReadXml 動作と同じですが、この場合、データは現在のテーブルとその子孫に対してのみ読み込まれます。

メソッドは ReadXml 、データのみ、またはデータとスキーマの両方を XML ドキュメントから に読み取る DataTable 方法を提供します ReadXmlSchema が、メソッドはスキーマのみを読み取ります。

メソッドと WriteXmlSchema メソッドについても、それぞれ同じことが当てはまりますWriteXml。 XML データ、または からスキーマとデータの両方を DataTable書き込むには、 メソッドを使用します WriteXml 。 スキーマのみを記述するには、 メソッドを使用します WriteXmlSchema

注意

InvalidOperationExceptionから読み取られるか 書き込まれる 内のDataRow列型が を実装し、 を実装IDynamicMetaObjectProviderIXmlSerializableしていない場合は、 がスローされます。

インライン スキーマが指定されている場合、インライン スキーマは、データを読み込む前に既存のリレーショナル構造を拡張するために使用されます。 競合 (たとえば、異なるデータ型で定義されている同じテーブル内の同じ列) がある場合は、例外が発生します。

インライン スキーマが指定されていない場合、リレーショナル構造は、XML ドキュメントの構造に従って、必要に応じて推論によって拡張されます。 すべてのデータを公開するために推論によってスキーマを拡張できない場合は、例外が発生します。

注意

DataSet 、("_") のような有効な XML 文字がシリアル化された XML でエスケープされている場合、XML 要素を対応する DataColumnDataTable 要素に関連付けません。 それ自体は DataSet 、XML 要素名内の無効な XML 文字のみをエスケープするため、同じもののみを使用できます。 XML 要素名の有効な文字をエスケープすると、処理中に 要素は無視されます。

using System.Data;
public class A {
   static void Main(string[] args) {
      DataTable tabl = new DataTable("mytable");
      tabl.Columns.Add(new DataColumn("id", typeof(int)));
      for (int i = 0; i < 10; i++) {
         DataRow row = tabl.NewRow();
         row["id"] = i;
         tabl.Rows.Add(row);
      }
      tabl.WriteXml("f.xml", XmlWriteMode.WriteSchema);
      DataTable newt = new DataTable();
      newt.ReadXml("f.xml");
   }
}

こちらもご覧ください

適用対象

ReadXml(XmlReader)

ソース:
DataTable.cs
ソース:
DataTable.cs
ソース:
DataTable.cs

指定した DataTable を使用して、XML スキーマとデータを XmlReader に読み込みます。

public:
 System::Data::XmlReadMode ReadXml(System::Xml::XmlReader ^ reader);
public System.Data.XmlReadMode ReadXml (System.Xml.XmlReader? reader);
public System.Data.XmlReadMode ReadXml (System.Xml.XmlReader reader);
member this.ReadXml : System.Xml.XmlReader -> System.Data.XmlReadMode
Public Function ReadXml (reader As XmlReader) As XmlReadMode

パラメーター

reader
XmlReader

データを読み込むために使用する XmlReader

戻り値

データを読み込むために使用する XmlReadMode

次の例では、 DataTable 2 つの列と 10 行を含む を作成します。 この例では、スキーマとデータを DataTableXmlReader書き込みます。 この例では、2 つ目 DataTable の を作成し、 メソッドを ReadXml 呼び出して、インスタンスのスキーマとデータを XmlReader 入力します。

private static void DemonstrateReadWriteXMLDocumentWithReader()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintValues(table, "Original table");

    // Write the schema and data to XML in a memory stream.
    System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
    table.WriteXml(xmlStream, XmlWriteMode.WriteSchema);

    // Rewind the memory stream.
    xmlStream.Position = 0;

    System.Xml.XmlTextReader reader =
        new System.Xml.XmlTextReader(xmlStream);
    DataTable newTable = new DataTable();
    newTable.ReadXml(reader);

    // Print out values in the table.
    PrintValues(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

    // Add ten rows.
    DataRow row;
    for (int i = 0; i <= 9; i++)
    {
        row = table.NewRow();
        row["item"] = "item " + i;
        table.Rows.Add(row);
    }

    table.AcceptChanges();
    return table;
}

private static void PrintValues(DataTable table, string label)
{
    Console.WriteLine(label);
    foreach (DataRow row in table.Rows)
    {
        foreach (DataColumn column in table.Columns)
        {
            Console.Write("\t{0}", row[column]);
        }
        Console.WriteLine();
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithReader()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintValues(table, "Original table")

  ' Write the schema and data to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXml(xmlStream, XmlWriteMode.WriteSchema)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim reader As New System.Xml.XmlTextReader(xmlStream)
  Dim newTable As New DataTable
  newTable.ReadXml(reader)

  ' Print out values in the table.
  PrintValues(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
  As DataTable
  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

  ' Add ten rows.
  Dim row As DataRow
  For i As Integer = 0 To 9
    row = table.NewRow()
    row("item") = "item " & i
    table.Rows.Add(row)
  Next i

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintValues(ByVal table As DataTable, _
  ByVal label As String)
  Console.WriteLine(label)
  For Each row As DataRow In table.Rows
    For Each column As DataColumn In table.Columns
      Console.Write("{0}{1}", ControlChars.Tab, row(column))
    Next column
    Console.WriteLine()
  Next row
End Sub

注釈

現在 DataTable とその子孫は、指定された 内の という名前のファイルのデータと共に XmlReader読み込まれます。 このメソッドの動作は メソッドの ReadXml 動作と同じですが、この場合、データは現在のテーブルとその子孫に対してのみ読み込まれます。

メソッドは ReadXml 、データのみ、またはデータとスキーマの両方を XML ドキュメントから に読み取る DataTable 方法を提供します ReadXmlSchema が、メソッドはスキーマのみを読み取ります。

メソッドと WriteXmlSchema メソッドについても、それぞれ同じことが当てはまりますWriteXml。 XML データ、または からスキーマとデータの両方を DataTable書き込むには、 メソッドを使用します WriteXml 。 スキーマのみを記述するには、 メソッドを使用します WriteXmlSchema

注意

InvalidOperationExceptionから読み取られるか 書き込まれる 内のDataRow列型が を実装し、 を実装IDynamicMetaObjectProviderIXmlSerializableしていない場合は、 がスローされます。

インライン スキーマが指定されている場合、インライン スキーマは、データを読み込む前に既存のリレーショナル構造を拡張するために使用されます。 競合 (たとえば、異なるデータ型で定義されている同じテーブル内の同じ列) がある場合は、例外が発生します。

インライン スキーマが指定されていない場合、リレーショナル構造は、XML ドキュメントの構造に従って、必要に応じて推論によって拡張されます。 すべてのデータを公開するために推論によってスキーマを拡張できない場合は、例外が発生します。

注意

DataSet 、("_") のような有効な XML 文字がシリアル化された XML でエスケープされている場合、XML 要素を対応する DataColumnDataTable 要素に関連付けません。 それ自体は DataSet 、XML 要素名内の無効な XML 文字のみをエスケープするため、同じもののみを使用できます。 XML 要素名の有効な文字をエスケープすると、処理中に 要素は無視されます。

こちらもご覧ください

適用対象