DataSet.ReadXml メソッド (String)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataSet Dim fileName As String Dim returnValue As XmlReadMode returnValue = instance.ReadXml(fileName)
戻り値
データを読み込むために使用する XmlReadMode。


ReadXml メソッドを使用すると、XML ドキュメントから DataSet に、データだけ、またはデータとスキーマの両方を読み込むことができます。これに対して ReadXmlSchema メソッドは、スキーマだけを読み込みます。データとスキーマの両方を読み取るには、mode パラメータを含む ReadXML オーバーロードの 1 つを使用し、その値を ReadSchema に設定します。
WriteXml メソッドと WriteXmlSchema メソッドについても、それぞれ同様です。XML データ、またはスキーマとデータの両方を DataSet から書き込むには、WriteXml メソッドを使用します。スキーマだけを書き込むには、WriteXmlSchema メソッドを使用します。
インライン スキーマを指定した場合、そのインライン スキーマはデータを読み込む前に既存のリレーショナル構造を拡張するために使用されます。競合が存在する場合は (たとえば、異なるデータ型で定義された同じテーブルの同じ列)、例外が発生します。
インライン スキーマを指定しない場合、XML ドキュメントの構造に従い、必要に応じて、リレーショナル構造は推論によって拡張されます。すべてのデータを公開するために、推論によってスキーマを拡張できない場合は、例外が発生します。
![]() |
---|
シリアル化された XML で有効な XML 文字 ("_" など) がエスケープされている場合、DataSet は、XML 要素をその対応する DataColumn や DataTable に関連付けません。DataSet 自体は、XML 要素名の無効な XML 文字のみをエスケープするため、同じ要素名しか使用できません。XML 要素名の有効文字がエスケープされている場合、その要素は処理中に無視されます。 |
DataSet の XML スキーマに targetNamespace が含まれている場合、データを読み取ることができない可能性があります。また、ReadXml を呼び出して、名前空間の限定がない要素を含む XML で DataSet を読み込むと、例外が発生する可能性があります。限定されていない要素を読み取るには、次の例のように、XML スキーマで elementFormDefault を "qualified" に設定します。
<xsd:schema 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>
![]() |
---|
DataSet のスキーマに、同じ名前空間で名前が同じであるが型が違う要素が含まれている場合、XmlReadMode.ReadSchema を指定してスキーマを ReadXml で DataSet に読み込もうとすると、例外がスローされます。この例外は、.NET Framework Version 1.0 を使用している場合は発生しません。 |

初めに 1 つの DataTable、2 列、および 10 行で単純な DataSet を作成する例を次に示します。DataSet のスキーマとデータは、WriteXml メソッドの呼び出しによってディスクに書き込みます。2 番目の DataSet を作成し、ReadXml メソッドを使用して、スキーマとデータを格納します。
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
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(); } } }


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataSet.ReadXml メソッド (Stream)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataSet Dim stream As Stream Dim returnValue As XmlReadMode returnValue = instance.ReadXml(stream)
戻り値
データを読み込むために使用する XmlReadMode。

ReadXml メソッドを使用すると、XML ドキュメントから DataSet に、データだけ、またはデータとスキーマの両方を読み込むことができます。これに対して ReadXmlSchema メソッドは、スキーマだけを読み込みます。データとスキーマの両方を読み取るには、mode パラメータを含む ReadXML オーバーロードの 1 つを使用し、その値を ReadSchema に設定します。
WriteXml メソッドと WriteXmlSchema メソッドについても、それぞれ同様です。XML データ、またはスキーマとデータの両方を DataSet から書き込むには、WriteXml メソッドを使用します。スキーマだけを書き込むには、WriteXmlSchema メソッドを使用します。
インライン スキーマを指定した場合、そのインライン スキーマはデータを読み込む前に既存のリレーショナル構造を拡張するために使用されます。競合が存在する場合は (たとえば、異なるデータ型で定義された同じテーブルの同じ列)、例外が発生します。
インライン スキーマを指定しない場合、XML ドキュメントの構造に従い、必要に応じて、リレーショナル構造は推論によって拡張されます。すべてのデータを公開するために、推論によってスキーマを拡張できない場合は、例外が発生します。
![]() |
---|
シリアル化された XML で有効な XML 文字 ("_" など) がエスケープされている場合、DataSet は、XML 要素をその対応する DataColumn や DataTable に関連付けません。DataSet 自体は、XML 要素名の無効な XML 文字のみをエスケープするため、同じ要素名しか使用できません。XML 要素名の有効文字がエスケープされている場合、その要素は処理中に無視されます。 |
DataSet の XML スキーマに targetNamespace が含まれている場合、データを読み取ることができない可能性があります。また、ReadXml を呼び出して、名前空間の限定がない要素を含む XML で DataSet を読み込むと、例外が発生する可能性があります。限定されていない要素を読み取るには、次の例のように、XML スキーマで elementFormDefault を "qualified" に設定します。
<xsd:schema 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>
![]() |
---|
DataSet のスキーマに、同じ名前空間で名前が同じであるが型が違う要素が含まれている場合、XmlReadMode.ReadSchema を指定してスキーマを ReadXml で DataSet に読み込もうとすると、例外がスローされます。この例外は、.NET Framework Version 1.0 を使用している場合は発生しません。 |

初めに 1 つの DataTable、2 列、および 10 行で単純な DataSet を作成する例を次に示します。DataSet のスキーマとデータは、WriteXml メソッドの呼び出しによってディスクに書き込みます。2 番目の DataSet を作成し、ReadXml メソッドを使用して、スキーマとデータを格納します。
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
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(); } } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataSet.ReadXml メソッド (XmlReader, XmlReadMode)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataSet Dim reader As XmlReader Dim mode As XmlReadMode Dim returnValue As XmlReadMode returnValue = instance.ReadXml(reader, mode)
戻り値
データを読み込むために使用する XmlReadMode。

ReadXml メソッドを使用すると、XML ドキュメントから DataSet に、データだけ、またはデータとスキーマの両方を読み込むことができます。これに対して ReadXmlSchema メソッドは、スキーマだけを読み込みます。データとスキーマの両方を読み取るには、mode パラメータを含む ReadXML オーバーロードの 1 つを使用し、その値を ReadSchema に設定します。
WriteXml メソッドと WriteXmlSchema メソッドについても、それぞれ同様です。XML データ、またはスキーマとデータの両方を DataSet から書き込むには、WriteXml メソッドを使用します。スキーマだけを書き込むには、WriteXmlSchema メソッドを使用します。
インライン スキーマを指定した場合、そのインライン スキーマはデータを読み込む前に既存のリレーショナル構造を拡張するために使用されます。競合が存在する場合は (たとえば、異なるデータ型で定義された同じテーブルの同じ列)、例外が発生します。
インライン スキーマを指定しない場合、XML ドキュメントの構造に従い、必要に応じて、リレーショナル構造は推論によって拡張されます。すべてのデータを公開するために、推論によってスキーマを拡張できない場合は、例外が発生します。
![]() |
---|
シリアル化された XML で有効な XML 文字 ("_" など) がエスケープされている場合、DataSet は、XML 要素をその対応する DataColumn や DataTable に関連付けません。DataSet 自体は、XML 要素名の無効な XML 文字のみをエスケープするため、同じ要素名しか使用できません。XML 要素名の有効文字がエスケープされている場合、その要素は処理中に無視されます。 |
DataSet の XML スキーマに targetNamespace が含まれている場合、データを読み取ることができない可能性があります。また、ReadXml を呼び出して、名前空間の限定がない要素を含む XML で DataSet を読み込むと、例外が発生する可能性があります。限定されていない要素を読み取るには、次の例のように、XML スキーマで elementFormDefault を "qualified" に設定します。
<xsd:schema 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>
![]() |
---|
DataSet のスキーマに、同じ名前空間で名前が同じであるが型が違う要素が含まれている場合、XmlReadMode.ReadSchema を指定してスキーマを ReadXml で DataSet に読み込もうとすると、例外がスローされます。この例外は、.NET Framework Version 1.0 を使用している場合は発生しません。 |

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataSet.ReadXml メソッド (TextReader)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataSet Dim reader As TextReader Dim returnValue As XmlReadMode returnValue = instance.ReadXml(reader)
戻り値
データを読み込むために使用する XmlReadMode。

ReadXml メソッドを使用すると、XML ドキュメントから DataSet に、データだけ、またはデータとスキーマの両方を読み込むことができます。これに対して ReadXmlSchema メソッドは、スキーマだけを読み込みます。データとスキーマの両方を読み取るには、mode パラメータを含む ReadXML オーバーロードの 1 つを使用し、その値を ReadSchema に設定します。
WriteXml メソッドと WriteXmlSchema メソッドについても、それぞれ同様です。XML データ、またはスキーマとデータの両方を DataSet から書き込むには、WriteXml メソッドを使用します。スキーマだけを書き込むには、WriteXmlSchema メソッドを使用します。
インライン スキーマを指定した場合、そのインライン スキーマはデータを読み込む前に既存のリレーショナル構造を拡張するために使用されます。競合が存在する場合は (たとえば、異なるデータ型で定義された同じテーブルの同じ列)、例外が発生します。
インライン スキーマを指定しない場合、XML ドキュメントの構造に従い、必要に応じて、リレーショナル構造は推論によって拡張されます。すべてのデータを公開するために、推論によってスキーマを拡張できない場合は、例外が発生します。
![]() |
---|
シリアル化された XML で有効な XML 文字 ("_" など) がエスケープされている場合、DataSet は、XML 要素をその対応する DataColumn や DataTable に関連付けません。DataSet 自体は、XML 要素名の無効な XML 文字のみをエスケープするため、同じ要素名しか使用できません。XML 要素名の有効文字がエスケープされている場合、その要素は処理中に無視されます。 |
DataSet の XML スキーマに targetNamespace が含まれている場合、データを読み取ることができない可能性があります。また、ReadXml を呼び出して、名前空間の限定がない要素を含む XML で DataSet を読み込むと、例外が発生する可能性があります。限定されていない要素を読み取るには、次の例のように、XML スキーマで elementFormDefault を "qualified" に設定します。
<xsd:schema 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 クラスから継承するクラスには、StreamReader クラスと StringReader クラスが含まれます。
![]() |
---|
DataSet のスキーマに、同じ名前空間で名前が同じであるが型が違う要素が含まれている場合、XmlReadMode.ReadSchema を指定してスキーマを ReadXml で DataSet に読み込もうとすると、例外がスローされます。この例外は、.NET Framework Version 1.0 を使用している場合は発生しません。 |

初めに 1 つの DataTable、2 列、および 10 行で単純な DataSet を作成する例を次に示します。DataSet のスキーマとデータは、WriteXml メソッドの呼び出しによってディスクに書き込みます。2 番目の DataSet を作成し、ReadXml メソッドを使用して、スキーマとデータを格納します。
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
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(); } } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataSet.ReadXml メソッド (XmlReader)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataSet Dim reader As XmlReader Dim returnValue As XmlReadMode returnValue = instance.ReadXml(reader)
戻り値
データを読み込むために使用する XmlReadMode。

ReadXml メソッドを使用すると、XML ドキュメントから DataSet に、データだけ、またはデータとスキーマの両方を読み込むことができます。これに対して ReadXmlSchema メソッドは、スキーマだけを読み込みます。データとスキーマの両方を読み取るには、mode パラメータを含む ReadXML オーバーロードの 1 つを使用し、その値を ReadSchema に設定します。
WriteXml メソッドと WriteXmlSchema メソッドについても、それぞれ同様です。XML データ、またはスキーマとデータの両方を DataSet から書き込むには、WriteXml メソッドを使用します。スキーマだけを書き込むには、WriteXmlSchema メソッドを使用します。
インライン スキーマを指定した場合、そのインライン スキーマはデータを読み込む前に既存のリレーショナル構造を拡張するために使用されます。競合が存在する場合は (たとえば、異なるデータ型で定義された同じテーブルの同じ列)、例外が発生します。
インライン スキーマを指定しない場合、XML ドキュメントの構造に従い、必要に応じて、リレーショナル構造は推論によって拡張されます。すべてのデータを公開するために、推論によってスキーマを拡張できない場合は、例外が発生します。
![]() |
---|
シリアル化された XML で有効な XML 文字 ("_" など) がエスケープされている場合、DataSet は、XML 要素をその対応する DataColumn や DataTable に関連付けません。DataSet 自体は、XML 要素名の無効な XML 文字のみをエスケープするため、同じ要素名しか使用できません。XML 要素名の有効文字がエスケープされている場合、その要素は処理中に無視されます。 |
DataSet の XML スキーマに targetNamespace が含まれている場合、データを読み取ることができない可能性があります。また、ReadXml を呼び出して、名前空間の限定がない要素を含む XML で DataSet を読み込むと、例外が発生する可能性があります。限定されていない要素を読み取るには、次の例のように、XML スキーマで elementFormDefault を "qualified" に設定します。
<xsd:schema 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 から継承します。
![]() |
---|
DataSet のスキーマに、同じ名前空間で名前が同じであるが型が違う要素が含まれている場合、XmlReadMode.ReadSchema を指定してスキーマを ReadXml で DataSet に読み込もうとすると、例外がスローされます。この例外は、.NET Framework Version 1.0 を使用している場合は発生しません。 |

初めに 1 つの DataTable、2 列、および 10 行で単純な DataSet を作成する例を次に示します。DataSet のスキーマとデータは、WriteXml メソッドの呼び出しによってディスクに書き込みます。2 番目の DataSet を作成し、ReadXml メソッドを使用して、スキーマとデータを格納します。
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) ' 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) ' 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 & " " & _ row(column).ToString()) Next column Console.WriteLine() Next row Next table End Sub
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); // 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); // 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("\table " + row[column] ); } Console.WriteLine(); } } }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataSet.ReadXml メソッド (Stream, XmlReadMode)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataSet Dim stream As Stream Dim mode As XmlReadMode Dim returnValue As XmlReadMode returnValue = instance.ReadXml(stream, mode)
戻り値
データを読み込むために使用する XmlReadMode。

ReadXml メソッドを使用すると、XML ドキュメントから DataSet に、データだけ、またはデータとスキーマの両方を読み込むことができます。これに対して ReadXmlSchema メソッドは、スキーマだけを読み込みます。データとスキーマの両方を読み取るには、mode パラメータを含む ReadXML オーバーロードの 1 つを使用し、その値を ReadSchema に設定します。
WriteXml メソッドと WriteXmlSchema メソッドについても、それぞれ同様です。XML データ、またはスキーマとデータの両方を DataSet から書き込むには、WriteXml メソッドを使用します。スキーマだけを書き込むには、WriteXmlSchema メソッドを使用します。
インライン スキーマを指定した場合、そのインライン スキーマはデータを読み込む前に既存のリレーショナル構造を拡張するために使用されます。競合が存在する場合は (たとえば、異なるデータ型で定義された同じテーブルの同じ列)、例外が発生します。
インライン スキーマを指定しない場合、XML ドキュメントの構造に従い、必要に応じて、リレーショナル構造は推論によって拡張されます。すべてのデータを公開するために、推論によってスキーマを拡張できない場合は、例外が発生します。
![]() |
---|
シリアル化された XML で有効な XML 文字 ("_" など) がエスケープされている場合、DataSet は、XML 要素をその対応する DataColumn や DataTable に関連付けません。DataSet 自体は、XML 要素名の無効な XML 文字のみをエスケープするため、同じ要素名しか使用できません。XML 要素名の有効文字がエスケープされている場合、その要素は処理中に無視されます。 |
DataSet の XML スキーマに targetNamespace が含まれている場合、データを読み取ることができない可能性があります。また、ReadXml を呼び出して、名前空間の限定がない要素を含む XML で DataSet を読み込むと、例外が発生する可能性があります。限定されていない要素を読み取るには、次の例のように、XML スキーマで elementFormDefault を "qualified" に設定します。
<xsd:schema 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>
![]() |
---|
DataSet のスキーマに、同じ名前空間で名前が同じであるが型が違う要素が含まれている場合、XmlReadMode.ReadSchema を指定してスキーマを ReadXml で DataSet に読み込もうとすると、例外がスローされます。この例外は、.NET Framework Version 1.0 を使用している場合は発生しません。 |

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataSet.ReadXml メソッド (String, XmlReadMode)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataSet Dim fileName As String Dim mode As XmlReadMode Dim returnValue As XmlReadMode returnValue = instance.ReadXml(fileName, mode)
戻り値
データを読み込むために使用する XmlReadMode。


ReadXml メソッドを使用すると、XML ドキュメントから DataSet に、データだけ、またはデータとスキーマの両方を読み込むことができます。これに対して ReadXmlSchema メソッドは、スキーマだけを読み込みます。データとスキーマの両方を読み取るには、mode パラメータを含む ReadXML オーバーロードの 1 つを使用し、その値を ReadSchema に設定します。
WriteXml メソッドと WriteXmlSchema メソッドについても、それぞれ同様です。XML データ、またはスキーマとデータの両方を DataSet から書き込むには、WriteXml メソッドを使用します。スキーマだけを書き込むには、WriteXmlSchema メソッドを使用します。
インライン スキーマを指定した場合、そのインライン スキーマはデータを読み込む前に既存のリレーショナル構造を拡張するために使用されます。競合が存在する場合は (たとえば、異なるデータ型で定義された同じテーブルの同じ列)、例外が発生します。
インライン スキーマを指定しない場合、XML ドキュメントの構造に従い、必要に応じて、リレーショナル構造は推論によって拡張されます。すべてのデータを公開するために、推論によってスキーマを拡張できない場合は、例外が発生します。
![]() |
---|
シリアル化された XML で有効な XML 文字 ("_" など) がエスケープされている場合、DataSet は、XML 要素をその対応する DataColumn や DataTable に関連付けません。DataSet 自体は、XML 要素名の無効な XML 文字のみをエスケープするため、同じ要素名しか使用できません。XML 要素名の有効文字がエスケープされている場合、その要素は処理中に無視されます。 |
DataSet の XML スキーマに targetNamespace が含まれている場合、データを読み取ることができない可能性があります。また、ReadXml を呼び出して、名前空間の限定がない要素を含む XML で DataSet を読み込むと、例外が発生する可能性があります。限定されていない要素を読み取るには、次の例のように、XML スキーマで elementFormDefault を "qualified" に設定します。
<xsd:schema 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>
![]() |
---|
DataSet のスキーマに、同じ名前空間で名前が同じであるが型が違う要素が含まれている場合、XmlReadMode.ReadSchema を指定してスキーマを ReadXml で DataSet に読み込もうとすると、例外がスローされます。この例外は、.NET Framework Version 1.0 を使用している場合は発生しません。 |


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataSet.ReadXml メソッド (TextReader, XmlReadMode)
アセンブリ: System.Data (system.data.dll 内)

Dim instance As DataSet Dim reader As TextReader Dim mode As XmlReadMode Dim returnValue As XmlReadMode returnValue = instance.ReadXml(reader, mode)
戻り値
データを読み込むために使用する XmlReadMode。

ReadXml メソッドを使用すると、XML ドキュメントから DataSet に、データだけ、またはデータとスキーマの両方を読み込むことができます。これに対して ReadXmlSchema メソッドは、スキーマだけを読み込みます。データとスキーマの両方を読み取るには、mode パラメータを含む ReadXML オーバーロードの 1 つを使用し、その値を ReadSchema に設定します。
WriteXml メソッドと WriteXmlSchema メソッドについても、それぞれ同様です。XML データ、またはスキーマとデータの両方を DataSet から書き込むには、WriteXml メソッドを使用します。スキーマだけを書き込むには、WriteXmlSchema メソッドを使用します。
インライン スキーマを指定した場合、そのインライン スキーマはデータを読み込む前に既存のリレーショナル構造を拡張するために使用されます。競合が存在する場合は (たとえば、異なるデータ型で定義された同じテーブルの同じ列)、例外が発生します。
インライン スキーマを指定しない場合、XML ドキュメントの構造に従い、必要に応じて、リレーショナル構造は推論によって拡張されます。すべてのデータを公開するために、推論によってスキーマを拡張できない場合は、例外が発生します。
![]() |
---|
シリアル化された XML で有効な XML 文字 ("_" など) がエスケープされている場合、DataSet は、XML 要素をその対応する DataColumn や DataTable に関連付けません。DataSet 自体は、XML 要素名の無効な XML 文字のみをエスケープするため、同じ要素名しか使用できません。XML 要素名の有効文字がエスケープされている場合、その要素は処理中に無視されます。 |
DataSet の XML スキーマに targetNamespace が含まれている場合、データを読み取ることができない可能性があります。また、ReadXml を呼び出して、名前空間の限定がない要素を含む XML で DataSet を読み込むと、例外が発生する可能性があります。限定されていない要素を読み取るには、次の例のように、XML スキーマで elementFormDefault を "qualified" に設定します。
<xsd:schema 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>
![]() |
---|
DataSet のスキーマに、同じ名前空間で名前が同じであるが型が違う要素が含まれている場合、XmlReadMode.ReadSchema を指定してスキーマを ReadXml で DataSet に読み込もうとすると、例外がスローされます。この例外は、.NET Framework Version 1.0 を使用している場合は発生しません。 |

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DataSet.ReadXml メソッド

