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 ドキュメントから a DataTable に読み取る方法を提供します ReadXmlSchema が、メソッドはスキーマのみを読み取ります。 データとスキーマの両方を読み取る場合は、パラメーターを ReadXML 含むいずれかのオーバーロードを XmlReadMode 使用し、その値を ReadSchema.

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

注意

An InvalidOperationException は、実装に対して読み取りまたは書き込み中のDataRow列型が実装され、実装IDynamicMetaObjectProviderIXmlSerializableされていない場合にスローされます。

ReadXml(Stream)

指定した 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

データを読み込むために使用する 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 ドキュメントから a DataTable に読み取る方法を提供します ReadXmlSchema が、メソッドはスキーマのみを読み取ります。

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

注意

An InvalidOperationException は、実装に対して読み取りまたは書き込み中のDataRow列型が実装され、実装IDynamicMetaObjectProviderIXmlSerializableされていない場合にスローされます。

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

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

注意

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

こちらもご覧ください

適用対象

ReadXml(TextReader)

指定した 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

データを読み込むために使用する 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 ドキュメントから a DataTable に読み取る方法を提供します ReadXmlSchema が、メソッドはスキーマのみを読み取ります。

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

注意

An InvalidOperationException は、実装に対して読み取りまたは書き込み中のDataRow列型が実装され、実装IDynamicMetaObjectProviderIXmlSerializableされていない場合にスローされます。

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

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

注意

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

こちらもご覧ください

適用対象

ReadXml(String)

指定したファイルから、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

データを読み込むために使用する 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 ドキュメントの構造に従って、必要に応じて、リレーショナル構造が推論によって拡張されます。 スキーマを推論によって拡張してすべてのデータを公開できない場合は、例外が発生します。

注意

XML DataSet 要素を対応する DataColumn DataTable XML 要素に関連付けたり、("_") などの有効な XML 文字がシリアル化された XML でエスケープされたりすることはありません。 それ自体は 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 を使用して、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

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

次の例では、 DataTable 2 つの列と 10 行を含む列を作成します。 この例では、スキーマとデータXmlReaderDataTable . この例では、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 ドキュメントの構造に従って、必要に応じて、リレーショナル構造が推論によって拡張されます。 スキーマを推論によって拡張してすべてのデータを公開できない場合は、例外が発生します。

注意

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

こちらもご覧ください

適用対象