DataSet.ReadXml メソッド

定義

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

オーバーロード

ReadXml(XmlReader, XmlReadMode)

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

ReadXml(String, XmlReadMode)

指定したファイルと DataSet を使用して、XML スキーマとデータを XmlReadMode に読み込みます。

ReadXml(Stream, XmlReadMode)

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

ReadXml(TextReader, XmlReadMode)

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

ReadXml(String)

指定したファイルを使用して、XML スキーマとデータを DataSet に読み込みます。

ReadXml(TextReader)

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

ReadXml(Stream)

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

ReadXml(XmlReader)

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

ReadXml(XmlReader, XmlReadMode)

ソース:
DataSet.cs
ソース:
DataSet.cs
ソース:
DataSet.cs

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

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

パラメーター

reader
XmlReader

読み取り元の XmlReader

mode
XmlReadMode

XmlReadMode 値のいずれか 1 つ。

戻り値

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

注釈

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

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

Note

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

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

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

Note

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

の XML スキーマDataSetに が含まれているtargetNamespace場合、データが読み取られない可能性があり、修飾された名前空間のない要素を含む XML で をDataSet読み込むを呼び出ReadXmlすときに例外が発生する可能性があります。 非修飾要素を読み取る場合は、次の例に示すように、XML スキーマで "修飾" に等しい を設定 elementFormDefault します。

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

のスキーマDataSetに同じ名前の要素が含まれているが、同じ名前空間内の型が異なる場合は、 を指定XmlReadMode.ReadSchemaして でスキーマを読み取DataSetReadXmlろうとすると、例外がスローされます。 バージョン 1.0 .NET Framework使用している場合、この例外は発生しません。

こちらもご覧ください

適用対象

ReadXml(String, XmlReadMode)

ソース:
DataSet.cs
ソース:
DataSet.cs
ソース:
DataSet.cs

指定したファイルと DataSet を使用して、XML スキーマとデータを XmlReadMode に読み込みます。

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

パラメーター

fileName
String

読み込み元の (パスを含む) ファイル名。

mode
XmlReadMode

XmlReadMode 値のいずれか 1 つ。

戻り値

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

例外

FileIOPermissionRead に設定されていません。

注釈

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

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

Note

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

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

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

Note

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

の XML スキーマDataSetに が含まれているtargetNamespace場合、データが読み取られない可能性があり、修飾された名前空間のない要素を含む XML で をDataSet読み込むを呼び出ReadXmlすときに例外が発生する可能性があります。 非修飾要素を読み取る場合は、次の例に示すように、XML スキーマで "修飾" に等しい を設定 elementFormDefault します。

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

のスキーマDataSetに同じ名前の要素が含まれているが、同じ名前空間内の型が異なる場合は、 を指定XmlReadMode.ReadSchemaして でスキーマを読み取DataSetReadXmlろうとすると、例外がスローされます。 バージョン 1.0 .NET Framework使用している場合、この例外は発生しません。

こちらもご覧ください

適用対象

ReadXml(Stream, XmlReadMode)

ソース:
DataSet.cs
ソース:
DataSet.cs
ソース:
DataSet.cs

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

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

パラメーター

stream
Stream

読み取り元の Stream

mode
XmlReadMode

XmlReadMode 値のいずれか 1 つ。

戻り値

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

注釈

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

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

Note

を 使用ReadXmlし、 を にDiffgram設定XmlReadModeすると、diffgram の生成と処理方法により、ターゲットDataSetと元DataSetの内容が異なる場合があります。 diffgram の詳細については、「 DiffGrams」を参照してください。

Note

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

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

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

Note

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

の XML スキーマDataSetに が含まれているtargetNamespace場合、データが読み取られない可能性があり、修飾された名前空間のない要素を含む XML で をDataSet読み込むを呼び出ReadXmlすときに例外が発生する可能性があります。 非修飾要素を読み取る場合は、次の例に示すように、XML スキーマで "修飾" に等しい を設定 elementFormDefault します。

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

のスキーマDataSetに同じ名前の要素が含まれているが、同じ名前空間内の型が異なる場合は、 を指定XmlReadMode.ReadSchemaして でスキーマを読み取DataSetReadXmlろうとすると、例外がスローされます。 バージョン 1.0 .NET Framework使用している場合、この例外は発生しません。

こちらもご覧ください

適用対象

ReadXml(TextReader, XmlReadMode)

ソース:
DataSet.cs
ソース:
DataSet.cs
ソース:
DataSet.cs

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

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

パラメーター

reader
TextReader

読み取り元の TextReader

mode
XmlReadMode

XmlReadMode 値のいずれか 1 つ。

戻り値

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

注釈

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

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

Note

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

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

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

Note

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

の XML スキーマDataSetに が含まれているtargetNamespace場合、データが読み取られない可能性があり、修飾された名前空間のない要素を含む XML で をDataSet読み込むを呼び出ReadXmlすときに例外が発生する可能性があります。 非修飾要素を読み取る場合は、次の例に示すように、XML スキーマで "修飾" に等しい を設定 elementFormDefault します。

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

のスキーマDataSetに同じ名前の要素が含まれているが、同じ名前空間内の型が異なる場合は、 を指定XmlReadMode.ReadSchemaして でスキーマを読み取DataSetReadXmlろうとすると、例外がスローされます。 バージョン 1.0 .NET Framework使用している場合、この例外は発生しません。

こちらもご覧ください

適用対象

ReadXml(String)

ソース:
DataSet.cs
ソース:
DataSet.cs
ソース:
DataSet.cs

指定したファイルを使用して、XML スキーマとデータを DataSet に読み込みます。

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

例外

FileIOPermissionRead に設定されていません。

次の例では、まず、1 つの 、2 つの列、10 DataTable行の単純な DataSet を作成します。 スキーマとデータは DataSet 、 メソッドを呼び出してディスクに WriteXml 書き込まれます。 2 つ目 DataSet の が作成され、 メソッドを ReadXml 使用してスキーマとデータを入力します。

private void DemonstrateReadWriteXMLDocumentWithStreamReader()
{
    // Create a DataSet with one table and two columns.
    DataSet OriginalDataSet = new DataSet("dataSet");
    OriginalDataSet.Namespace= "NetFrameWork";
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id",
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement= true;

    DataColumn itemColumn = new DataColumn("item");
    table.Columns.Add(idColumn);
    table.Columns.Add(itemColumn);
    OriginalDataSet.Tables.Add(table);

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

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(OriginalDataSet, "Original DataSet");

    // Write the schema and data to an XML file.
    string xmlFilename = "XmlDocument.xml";

    // Use WriteXml to write the document.
    OriginalDataSet.WriteXml(xmlFilename);

    // Dispose of the original DataSet.
    OriginalDataSet.Dispose();

    // Create a new DataSet.
    DataSet newDataSet = new DataSet("New DataSet");

    // Read the XML document into the DataSet.
    newDataSet.ReadXml(xmlFilename);

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(newDataSet,"New DataSet");
}

private void PrintValues(DataSet dataSet, string label)
{
    Console.WriteLine("\n" + label);
    foreach(DataTable table in dataSet.Tables)
    {
        Console.WriteLine("TableName: " + table.TableName);
        foreach(DataRow row in table.Rows)
        {
            foreach(DataColumn column in table.Columns)
            {
                Console.Write("\table " + row[column] );
            }
            Console.WriteLine();
        }
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithStreamReader()
    ' Create a DataSet with one table and two columns.
    Dim OriginalDataSet As New DataSet("dataSet")
    OriginalDataSet.Namespace = "NetFrameWork"
    Dim table As New DataTable("table")
    Dim idColumn As New DataColumn("id", _
        Type.GetType("System.Int32"))
    idColumn.AutoIncrement = True

    Dim itemColumn As New DataColumn("item")
    table.Columns.Add(idColumn)
    table.Columns.Add(itemColumn)
    OriginalDataSet.Tables.Add(table)

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

    ' Print out values of each table in the DataSet 
    ' using the function defined below.
    PrintValues(OriginalDataSet, "Original DataSet")

    ' Write the schema and data to an XML file.
    Dim xmlFilename As String = "XmlDocument.xml"

    ' Use WriteXml to write the document.
    OriginalDataSet.WriteXml(xmlFilename)

    ' Dispose of the original DataSet.
    OriginalDataSet.Dispose()

    ' Create a new DataSet.
    Dim newDataSet As New DataSet("New DataSet")

    ' Read the XML document into the DataSet.
    newDataSet.ReadXml(xmlFilename)

    ' Print out values of each table in the DataSet 
    ' using the function defined below.
    PrintValues(newDataSet, "New DataSet")
End Sub
    
Private Sub PrintValues(dataSet As DataSet, label As String)
    Console.WriteLine(ControlChars.Cr & label)
    Dim table As DataTable
    For Each table In  dataSet.Tables
        Console.WriteLine("TableName: " & table.TableName)
        Dim row As DataRow
        For Each row In  table.Rows
            Dim column As DataColumn
            For Each column In  table.Columns
                Console.Write(ControlChars.Tab & " " & _
                    row(column).ToString())
            Next column
            Console.WriteLine()
        Next row
    Next table
End Sub

注釈

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

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

Note

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

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

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

Note

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

の XML スキーマDataSetに が含まれているtargetNamespace場合、データが読み取られない可能性があり、修飾された名前空間のない要素を含む XML で をDataSet読み込むを呼び出ReadXmlすときに例外が発生する可能性があります。 非修飾要素を読み取る場合は、次の例に示すように、XML スキーマで "修飾" に等しい を設定 elementFormDefault します。

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

のスキーマDataSetに同じ名前の要素が含まれているが、同じ名前空間内の型が異なる場合は、 を指定XmlReadMode.ReadSchemaして でスキーマを読み取DataSetReadXmlろうとすると、例外がスローされます。 バージョン 1.0 .NET Framework使用している場合、この例外は発生しません。

こちらもご覧ください

適用対象

ReadXml(TextReader)

ソース:
DataSet.cs
ソース:
DataSet.cs
ソース:
DataSet.cs

指定した DataSet を使用して、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

次の例では、まず、1 つの 、2 つの列、10 DataTable行の単純な DataSet を作成します。 スキーマとデータは DataSet 、 メソッドを呼び出してディスクに WriteXml 書き込まれます。 2 つ目 DataSet の が作成され、 メソッドを ReadXml 使用してスキーマとデータを入力します。

private void DemonstrateReadWriteXMLDocumentWithFileStream()
{
    // Create a DataSet with one table and two columns.
    DataSet originalDataSet = new DataSet("dataSet");
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id",
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement= true;

    DataColumn itemColumn = new DataColumn("item");
    table.Columns.Add(idColumn);
    table.Columns.Add(itemColumn);
    originalDataSet.Tables.Add(table);
    // Add ten rows.

    DataRow newRow;
    for(int i = 0; i < 10; i++)
    {
        newRow = table.NewRow();
        newRow["item"]= "item " + i;
        table.Rows.Add(newRow);
    }
    originalDataSet.AcceptChanges();

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(originalDataSet, "Original DataSet");

    // Write the schema and data to XML file with FileStream.
    string xmlFilename = "XmlDocument.xml";
    System.IO.FileStream streamWrite = new System.IO.FileStream
        (xmlFilename, System.IO.FileMode.Create);

    // Use WriteXml to write the XML document.
    originalDataSet.WriteXml(streamWrite);

    // Close the FileStream.
    streamWrite.Close();

    // Dispose of the original DataSet.
    originalDataSet.Dispose();
    // Create a new DataSet.
    DataSet newDataSet = new DataSet("New DataSet");

    // Read the XML document back in.
    // Create new FileStream to read schema with.
    System.IO.FileStream streamRead = new System.IO.FileStream
        (xmlFilename,System.IO.FileMode.Open);
    newDataSet.ReadXml(streamRead);

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(newDataSet,"New DataSet");
}

private void PrintValues(DataSet dataSet, string label)
{
    Console.WriteLine("\n" + label);
    foreach(DataTable table in dataSet.Tables)
    {
        Console.WriteLine("TableName: " + table.TableName);
        foreach(DataRow row in table.Rows)
        {
            foreach(DataColumn column in table.Columns)
            {
                Console.Write("\table " + row[column] );
            }
            Console.WriteLine();
        }
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithFileStream()
    ' Create a DataSet with one table and two columns.
    Dim originalDataSet As New DataSet("dataSet")
    Dim table As New DataTable("table")
    Dim idColumn As New DataColumn("id", _
       Type.GetType("System.Int32"))
    idColumn.AutoIncrement = True

    Dim itemColumn As New DataColumn("item")
    table.Columns.Add(idColumn)
    table.Columns.Add(itemColumn)
    originalDataSet.Tables.Add(table)

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

    ' Print out values of each table in the DataSet 
    ' using the function defined below.
    PrintValues(originalDataSet, "Original DataSet")

    ' Write the schema and data to XML file with FileStream.
    Dim xmlFilename As String = "XmlDocument.xml"
    Dim streamWrite As New System.IO.FileStream _
       (xmlFilename, System.IO.FileMode.Create)

    ' Use WriteXml to write the XML document.
    originalDataSet.WriteXml(streamWrite)

    ' Close the FileStream.
    streamWrite.Close()
     
    ' Dispose of the original DataSet.
    originalDataSet.Dispose()
    ' Create a new DataSet.
    Dim newDataSet As New DataSet("New DataSet")
       
    ' Read the XML document back in. 
    ' Create new FileStream to read schema with.
    Dim streamRead As New System.IO.FileStream _
       (xmlFilename, System.IO.FileMode.Open)
     
    newDataSet.ReadXml(streamRead)
    ' Print out values of each table in the DataSet  
    ' using the function defined below.
    PrintValues(newDataSet, "New DataSet")
End Sub
   
Private Sub PrintValues(dataSet As DataSet, label As String)
    Console.WriteLine(ControlChars.Cr & label)
    Dim table As DataTable
    Dim row As DataRow
    Dim column As DataColumn
    For Each table In  dataSet.Tables
        Console.WriteLine("TableName: " & table.TableName)         
        For Each row In  table.Rows             
            For Each column In  table.Columns
                Console.Write(ControlChars.Tab & " " & _
                   row(column).ToString())
            Next column
            Console.WriteLine()
        Next row
    Next table
End Sub

注釈

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

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

Note

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

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

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

Note

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

の XML スキーマDataSetに が含まれているtargetNamespace場合、データが読み取られない可能性があり、修飾された名前空間のない要素を含む XML で をDataSet読み込むを呼び出ReadXmlすときに例外が発生する可能性があります。 非修飾要素を読み取る場合は、次の例に示すように、XML スキーマで "修飾" に等しい を設定 elementFormDefault します。

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

クラスから継承するクラスには、 TextReader クラスと StringReader クラスがStreamReader含まれます。

Note

のスキーマDataSetに同じ名前の要素が含まれているが、同じ名前空間内の型が異なる場合は、 を指定XmlReadMode.ReadSchemaして でスキーマを読み取DataSetReadXmlろうとすると、例外がスローされます。 バージョン 1.0 .NET Framework使用している場合、この例外は発生しません。

こちらもご覧ください

適用対象

ReadXml(Stream)

ソース:
DataSet.cs
ソース:
DataSet.cs
ソース:
DataSet.cs

指定した DataSet を使用して、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

次の例では、まず、1 つの 、2 つの列、10 DataTable行の単純な DataSet を作成します。 スキーマとデータは DataSet 、 メソッドを呼び出してディスクに WriteXml 書き込まれます。 2 つ目 DataSet の が作成され、 メソッドを ReadXml 使用してスキーマとデータを入力します。

private void DemonstrateReadWriteXMLDocumentWithFileStream()
{
    // Create a DataSet with one table and two columns.
    DataSet originalDataSet = new DataSet("dataSet");
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id",
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement= true;

    DataColumn itemColumn = new DataColumn("item");
    table.Columns.Add(idColumn);
    table.Columns.Add(itemColumn);
    originalDataSet.Tables.Add(table);
    // Add ten rows.

    DataRow newRow;
    for(int i = 0; i < 10; i++)
    {
        newRow = table.NewRow();
        newRow["item"]= "item " + i;
        table.Rows.Add(newRow);
    }
    originalDataSet.AcceptChanges();

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(originalDataSet, "Original DataSet");

    // Write the schema and data to XML file with FileStream.
    string xmlFilename = "XmlDocument.xml";
    System.IO.FileStream streamWrite = new System.IO.FileStream
        (xmlFilename, System.IO.FileMode.Create);

    // Use WriteXml to write the XML document.
    originalDataSet.WriteXml(streamWrite);

    // Close the FileStream.
    streamWrite.Close();

    // Dispose of the original DataSet.
    originalDataSet.Dispose();
    // Create a new DataSet.
    DataSet newDataSet = new DataSet("New DataSet");

    // Read the XML document back in.
    // Create new FileStream to read schema with.
    System.IO.FileStream streamRead = new System.IO.FileStream
        (xmlFilename,System.IO.FileMode.Open);
    newDataSet.ReadXml(streamRead);

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(newDataSet,"New DataSet");
}

private void PrintValues(DataSet dataSet, string label)
{
    Console.WriteLine("\n" + label);
    foreach(DataTable table in dataSet.Tables)
    {
        Console.WriteLine("TableName: " + table.TableName);
        foreach(DataRow row in table.Rows)
        {
            foreach(DataColumn column in table.Columns)
            {
                Console.Write("\table " + row[column] );
            }
            Console.WriteLine();
        }
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithFileStream()
    ' Create a DataSet with one table and two columns.
    Dim originalDataSet As New DataSet("dataSet")
    Dim table As New DataTable("table")
    Dim idColumn As New DataColumn("id", _
       Type.GetType("System.Int32"))
    idColumn.AutoIncrement = True

    Dim itemColumn As New DataColumn("item")
    table.Columns.Add(idColumn)
    table.Columns.Add(itemColumn)
    originalDataSet.Tables.Add(table)

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

    ' Print out values of each table in the DataSet 
    ' using the function defined below.
    PrintValues(originalDataSet, "Original DataSet")

    ' Write the schema and data to XML file with FileStream.
    Dim xmlFilename As String = "XmlDocument.xml"
    Dim streamWrite As New System.IO.FileStream _
       (xmlFilename, System.IO.FileMode.Create)

    ' Use WriteXml to write the XML document.
    originalDataSet.WriteXml(streamWrite)

    ' Close the FileStream.
    streamWrite.Close()
     
    ' Dispose of the original DataSet.
    originalDataSet.Dispose()
    ' Create a new DataSet.
    Dim newDataSet As New DataSet("New DataSet")
       
    ' Read the XML document back in. 
    ' Create new FileStream to read schema with.
    Dim streamRead As New System.IO.FileStream _
       (xmlFilename, System.IO.FileMode.Open)
     
    newDataSet.ReadXml(streamRead)
    ' Print out values of each table in the DataSet  
    ' using the function defined below.
    PrintValues(newDataSet, "New DataSet")
End Sub
   
Private Sub PrintValues(dataSet As DataSet, label As String)
    Console.WriteLine(ControlChars.Cr & label)
    Dim table As DataTable
    Dim row As DataRow
    Dim column As DataColumn
    For Each table In  dataSet.Tables
        Console.WriteLine("TableName: " & table.TableName)         
        For Each row In  table.Rows             
            For Each column In  table.Columns
                Console.Write(ControlChars.Tab & " " & _
                   row(column).ToString())
            Next column
            Console.WriteLine()
        Next row
    Next table
End Sub

注釈

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

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

Note

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

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

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

Note

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

の XML スキーマDataSetに が含まれているtargetNamespace場合、データが読み取られない可能性があり、修飾された名前空間のない要素を含む XML で をDataSet読み込むを呼び出ReadXmlすときに例外が発生する可能性があります。 修飾されていない要素を読み取る場合は、次の例に示すように、XML スキーマで "修飾" に等しい を設定 elementFormDefault します。

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

Note

のスキーマDataSetに同じ名前の異なる型の要素が同じ名前空間に含まれている場合は、 を指定XmlReadMode.ReadSchemaして でスキーマを 読み取DataSetReadXmlろうとすると例外がスローされます。 バージョン 1.0 .NET Framework使用している場合、この例外は発生しません。

こちらもご覧ください

適用対象

ReadXml(XmlReader)

ソース:
DataSet.cs
ソース:
DataSet.cs
ソース:
DataSet.cs

指定した DataSet を使用して、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

次の例では、最初に、1 つの DataTable、2 つの列、10 行の単純な DataSet を作成します。 スキーマとデータは DataSet 、 メソッドを呼び出してディスクに WriteXml 書き込まれます。 2 つ目 DataSet が作成され、 メソッドを ReadXml 使用してスキーマとデータを入力します。

private void DemonstrateReadWriteXMLDocumentWithXMLReader()
{
    // Create a DataSet with one table and two columns.
    DataSet OriginalDataSet = new DataSet("dataSet");
    OriginalDataSet.Namespace= "NetFrameWork";
    DataTable table = new DataTable("table");
    DataColumn idColumn = new DataColumn("id",
        Type.GetType("System.Int32"));
    idColumn.AutoIncrement= true;

    DataColumn itemColumn = new DataColumn("item");
    table.Columns.Add(idColumn);
    table.Columns.Add(itemColumn);
    OriginalDataSet.Tables.Add(table);

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

    // Print out values of each table in the DataSet
    // using the function defined below.
    PrintValues(OriginalDataSet, "Original DataSet");

    // Write the XML schema and data to file with FileStream.
    string xmlFilename = "XmlDocument.xml";

    // Create FileStream
    System.IO.FileStream fsWriteXml =
        new System.IO.FileStream
        (xmlFilename, System.IO.FileMode.Create);

    // Create an XmlTextWriter to write the file.
    System.Xml.XmlTextWriter xmlWriter =
        new System.Xml.XmlTextWriter
        (fsWriteXml, System.Text.Encoding.Unicode);

    // Use WriteXml to write the document.
    OriginalDataSet.WriteXml(xmlWriter, XmlWriteMode.WriteSchema);

    // Close the FileStream.
    fsWriteXml.Close();

    // Dispose of the original DataSet.
    OriginalDataSet.Dispose();

    // Create a new DataSet.
    DataSet newDataSet = new DataSet("New DataSet");

    // Read the XML document back in.
    // Create new FileStream to read schema with.
    System.IO.FileStream fsReadXml =
        new System.IO.FileStream
        (xmlFilename, System.IO.FileMode.Open);

    // Create an XmlTextReader to read the file.
    System.Xml.XmlTextReader xmlReader =
        new System.Xml.XmlTextReader(fsReadXml);

    // Read the XML document into the DataSet.
    newDataSet.ReadXml(xmlReader, XmlReadMode.ReadSchema);

    // Close the XmlTextReader
    xmlReader.Close();

    // Print out values of each table in the DataSet
    // fusing the unction defined below.
    PrintValues(newDataSet,"New DataSet");
}

private void PrintValues(DataSet dataSet, string label)
{
    Console.WriteLine("\n" + label);
    foreach(DataTable table in dataSet.Tables)
    {
        Console.WriteLine("TableName: " + table.TableName);
        foreach(DataRow row in table.Rows)
        {
            foreach(DataColumn column in table.Columns)
            {
                Console.Write("\t{0}({1})='{2}'", column.ColumnName, column.DataType.Name, row[column]);
            }
            Console.WriteLine();
        }
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithXMLReader()
    ' Create a DataSet with one table and two columns.
    Dim OriginalDataSet As New DataSet("dataSet")
    OriginalDataSet.Namespace = "NetFrameWork"
    Dim table As New DataTable("table")
    Dim idColumn As New DataColumn("id", _
        Type.GetType("System.Int32"))
    idColumn.AutoIncrement = True

    Dim itemColumn As New DataColumn("item")
    table.Columns.Add(idColumn)
    table.Columns.Add(itemColumn)
    OriginalDataSet.Tables.Add(table)

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

    ' Print out values of each table in the DataSet 
    ' using the function defined below.
    PrintValues(OriginalDataSet, "Original DataSet")

    ' Write the XML schema and data to file with FileStream.
    Dim xmlFilename As String = "XmlDocument.xml"

    ' Create FileStream    
    Dim fsWriteXml As New System.IO.FileStream _
        (xmlFilename, System.IO.FileMode.Create)

    ' Create an XmlTextWriter to write the file.
    Dim xmlWriter As New System.Xml.XmlTextWriter _
        (fsWriteXml, System.Text.Encoding.Unicode)

    ' Use WriteXml to write the document.
    OriginalDataSet.WriteXml(xmlWriter, XmlWriteMode.WriteSchema)

    ' Close the FileStream.
    fsWriteXml.Close()
        
    ' Dispose of the original DataSet.
    OriginalDataSet.Dispose()

    ' Create a new DataSet.
    Dim newDataSet As New DataSet("New DataSet")
        
    ' Read the XML document back in. 
    ' Create new FileStream to read schema with.
    Dim fsReadXml As New System.IO.FileStream _
        (xmlFilename, System.IO.FileMode.Open)

    ' Create an XmlTextReader to read the file.
    Dim xmlReader As New System.Xml.XmlTextReader(fsReadXml)

    ' Read the XML document into the DataSet.
    newDataSet.ReadXml(xmlReader, XmlReadMode.ReadSchema)

    ' Close the XmlTextReader
    xmlReader.Close()
        
    ' Print out values of each table in the DataSet using the 
    ' function defined below.
    PrintValues(newDataSet, "New DataSet")
End Sub
    
    
 Private Sub PrintValues(dataSet As DataSet, label As String)
     Console.WriteLine(ControlChars.Cr & label)
     Dim table As DataTable
     Dim row As DataRow
     Dim column As DataColumn
     For Each table In  dataSet.Tables
         Console.WriteLine("TableName: " & table.TableName)
         For Each row In  table.Rows
             For Each column In  table.Columns
                 Console.Write(ControlChars.Tab & "{0}({1})='{2}'", column.ColumnName, column.DataType.Name, row(column).ToString())

             Next column
             Console.WriteLine()
         Next row
     Next table
  End Sub

注釈

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

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

Note

からInvalidOperationException読み取られるか、または を実装するために書き込まれる 内のDataRow列型が を実装IDynamicMetaObjectProviderIXmlSerializableせず、 がスローされます。

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

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

Note

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

の XML スキーマ DataSet に が含まれている targetNamespace場合、データが読み取られない可能性があります。また、 を呼び出 ReadXml して、修飾された名前空間のない要素を含む XML を読み込む DataSet ときに例外が発生する可能性があります。 修飾されていない要素を読み取る場合は、次の例に示すように、XML スキーマで "修飾" に等しい を設定 elementFormDefault します。

<xsd:schema id="MyDataSet"
   elementFormDefault="qualified"
   targetNamespace="http://www.tempuri.org/MyDataSet.xsd"
   xmlns="http://www.tempuri.org/MyDataSet.xsd"
   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
   xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
</xsd:schema>

System.Xml.XmlTextReader は、XmlReader から継承されます。

Note

のスキーマDataSetに同じ名前の異なる型の要素が同じ名前空間に含まれている場合は、 を指定XmlReadMode.ReadSchemaして でスキーマを 読み取DataSetReadXmlろうとすると例外がスローされます。 バージョン 1.0 .NET Framework使用している場合、この例外は発生しません。

こちらもご覧ください

適用対象