DataTable.ReadXml Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Leest het XML-schema en de gegevens in het DataTable.
Overloads
| Name | Description |
|---|---|
| ReadXml(Stream) |
Leest het XML-schema en de gegevens in het DataTable opgegeven Streamgebruik. |
| ReadXml(TextReader) |
Leest het XML-schema en de gegevens in het DataTable opgegeven TextReadergebruik. |
| ReadXml(String) |
Leest het XML-schema en de gegevens in het DataTable opgegeven bestand. |
| ReadXml(XmlReader) |
Leest XML-schema en -gegevens in het DataTable opgegeven XmlReadergebruik. |
Opmerkingen
De ReadXml methode biedt een manier om alleen gegevens te lezen, of zowel gegevens als schema's in een DataTable XML-document, terwijl de ReadXmlSchema methode alleen het schema leest. Als u zowel gegevens als schema's wilt lezen, gebruikt u een van de ReadXML overbelastingen die de parameter bevatten en stelt u de XmlReadMode waarde ervan in op ReadSchema.
Houd er rekening mee dat hetzelfde geldt voor respectievelijk de WriteXml en WriteXmlSchema methoden. Als u XML-gegevens wilt schrijven, of zowel schema als gegevens uit de DataTable, gebruikt u de WriteXml methode. Als u alleen het schema wilt schrijven, gebruikt u de WriteXmlSchema methode.
Note
Er InvalidOperationException wordt een gegenereerd als een kolomtype wordt DataRow gelezen van of geschreven om te implementeren IDynamicMetaObjectProvider en niet wordt geïmplementeerd IXmlSerializable.
ReadXml(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
Parameters
Retouren
De XmlReadMode gegevens worden gelezen.
Voorbeelden
In het volgende voorbeeld wordt een DataTable met twee kolommen en tien rijen gemaakt. In het voorbeeld worden het schema en de DataTable gegevens naar een geheugenstroom geschreven door de WriteXml methode aan te roepen. In het voorbeeld wordt een seconde DataTable gemaakt en wordt de methode aangeroepen om deze ReadXml te vullen met schema en gegevens.
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
Opmerkingen
De huidige DataTable en de afstammingen worden geladen met de gegevens van de opgegeven Stream. Het gedrag van deze methode is identiek aan die van de DataSet.ReadXml methode, behalve dat in dit geval alleen gegevens worden geladen voor de huidige tabel en de onderliggende gegevens.
De ReadXml methode biedt een manier om alleen gegevens te lezen, of zowel gegevens als schema's in een DataTable XML-document, terwijl de ReadXmlSchema methode alleen het schema leest.
Houd er rekening mee dat hetzelfde geldt voor respectievelijk de WriteXml en WriteXmlSchema methoden. Als u XML-gegevens wilt schrijven, of zowel schema als gegevens uit de DataTable, gebruikt u de WriteXml methode. Als u alleen het schema wilt schrijven, gebruikt u de WriteXmlSchema methode.
Note
Er InvalidOperationException wordt een gegenereerd als een kolomtype wordt DataRow gelezen van of geschreven om te implementeren IDynamicMetaObjectProvider en niet wordt geïmplementeerd IXmlSerializable.
Als er een inlineschema is opgegeven, wordt het inlineschema gebruikt om de bestaande relationele structuur uit te breiden voordat de gegevens worden geladen. Als er conflicten zijn (bijvoorbeeld dezelfde kolom in dezelfde tabel die is gedefinieerd met verschillende gegevenstypen) wordt er een uitzondering gegenereerd.
Als er geen inlineschema is opgegeven, wordt de relationele structuur zo nodig uitgebreid via deductie, afhankelijk van de structuur van het XML-document. Als het schema niet kan worden uitgebreid via deductie om alle gegevens beschikbaar te maken, wordt er een uitzondering gegenereerd.
Note
Het DataSet element koppelt geen XML-element aan de bijbehorende DataColumn of DataTable wanneer juridische XML-tekens zoals ("_") worden ontsnapt in de geserialiseerde XML. De DataSet zelf ontsnapt alleen ongeldige XML-tekens in XML-elementnamen en kan daarom alleen hetzelfde verbruiken. Wanneer juridische tekens in de xml-elementnaam worden ontsnapt, wordt het element genegeerd tijdens de verwerking.
Zie ook
Van toepassing op
ReadXml(TextReader)
Leest het XML-schema en de gegevens in het DataTable opgegeven TextReadergebruik.
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
Parameters
- reader
- TextReader
De TextReader gegevens die worden gebruikt om de gegevens te lezen.
Retouren
De XmlReadMode gegevens worden gelezen.
Voorbeelden
In het volgende voorbeeld wordt een DataTable met twee kolommen en tien rijen gemaakt. In het voorbeeld worden het schema en de DataTable gegevens naar een geheugenstroom geschreven door de WriteXml methode aan te roepen. In het voorbeeld wordt een seconde DataTable gemaakt en wordt de methode aangeroepen om deze ReadXml te vullen met schema en gegevens.
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
Opmerkingen
De huidige DataTable en de afstammingen worden geladen met de gegevens van de opgegeven TextReader. Het gedrag van deze methode is identiek aan die van de DataSet.ReadXml methode, behalve dat in dit geval alleen gegevens worden geladen voor de huidige tabel en de onderliggende gegevens.
De ReadXml methode biedt een manier om alleen gegevens te lezen, of zowel gegevens als schema's in een DataTable XML-document, terwijl de ReadXmlSchema methode alleen het schema leest.
Houd er rekening mee dat hetzelfde geldt voor respectievelijk de WriteXml en WriteXmlSchema methoden. Als u XML-gegevens wilt schrijven, of zowel schema als gegevens uit de DataTable, gebruikt u de WriteXml methode. Als u alleen het schema wilt schrijven, gebruikt u de WriteXmlSchema methode.
Note
Er InvalidOperationException wordt een gegenereerd als een kolomtype wordt DataRow gelezen van of geschreven om te implementeren IDynamicMetaObjectProvider en niet wordt geïmplementeerd IXmlSerializable.
Als er een inlineschema is opgegeven, wordt het inlineschema gebruikt om de bestaande relationele structuur uit te breiden voordat de gegevens worden geladen. Als er conflicten zijn (bijvoorbeeld dezelfde kolom in dezelfde tabel die is gedefinieerd met verschillende gegevenstypen) wordt er een uitzondering gegenereerd.
Als er geen inlineschema is opgegeven, wordt de relationele structuur zo nodig uitgebreid via deductie, afhankelijk van de structuur van het XML-document. Als het schema niet kan worden uitgebreid via deductie om alle gegevens beschikbaar te maken, wordt er een uitzondering gegenereerd.
Note
Het DataSet element koppelt geen XML-element aan de bijbehorende DataColumn of DataTable wanneer juridische XML-tekens zoals ("_") worden ontsnapt in de geserialiseerde XML. De DataSet zelf ontsnapt alleen ongeldige XML-tekens in XML-elementnamen en kan daarom alleen hetzelfde verbruiken. Wanneer juridische tekens in de xml-elementnaam worden ontsnapt, wordt het element genegeerd tijdens de verwerking.
Zie ook
Van toepassing op
ReadXml(String)
Leest het XML-schema en de gegevens in het DataTable opgegeven bestand.
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
Parameters
- fileName
- String
De naam van het bestand waaruit de gegevens moeten worden gelezen.
Retouren
De XmlReadMode gegevens worden gelezen.
Voorbeelden
In het volgende voorbeeld wordt een DataTable met twee kolommen en tien rijen gemaakt. In het voorbeeld worden het schema en de DataTable gegevens naar de schijf geschreven. In het voorbeeld wordt een seconde DataTable gemaakt en wordt de methode aangeroepen om deze ReadXml te vullen met schema en gegevens.
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
Opmerkingen
De huidige DataTable en de afstammingen worden geladen met de gegevens uit het bestand met de naam in de opgegeven String. Het gedrag van deze methode is identiek aan die van de DataSet.ReadXml methode, behalve dat in dit geval alleen gegevens worden geladen voor de huidige tabel en de onderliggende gegevens.
De ReadXml methode biedt een manier om alleen gegevens te lezen, of zowel gegevens als schema's in een DataTable XML-document, terwijl de ReadXmlSchema methode alleen het schema leest.
Houd er rekening mee dat hetzelfde geldt voor respectievelijk de WriteXml en WriteXmlSchema methoden. Als u XML-gegevens wilt schrijven, of zowel schema als gegevens uit de DataTable, gebruikt u de WriteXml methode. Als u alleen het schema wilt schrijven, gebruikt u de WriteXmlSchema methode.
Note
Er InvalidOperationException wordt een gegenereerd als een kolomtype wordt DataRow gelezen van of geschreven om te implementeren IDynamicMetaObjectProvider en niet wordt geïmplementeerd IXmlSerializable.
Als er een inlineschema is opgegeven, wordt het inlineschema gebruikt om de bestaande relationele structuur uit te breiden voordat de gegevens worden geladen. Als er conflicten zijn (bijvoorbeeld dezelfde kolom in dezelfde tabel die is gedefinieerd met verschillende gegevenstypen) wordt er een uitzondering gegenereerd.
Als er geen inlineschema is opgegeven, wordt de relationele structuur zo nodig uitgebreid via deductie, afhankelijk van de structuur van het XML-document. Als het schema niet kan worden uitgebreid via deductie om alle gegevens beschikbaar te maken, wordt er een uitzondering gegenereerd.
Note
Het DataSet element koppelt geen XML-element aan de bijbehorende DataColumn of DataTable wanneer juridische XML-tekens zoals ("_") worden ontsnapt in de geserialiseerde XML. De DataSet zelf ontsnapt alleen ongeldige XML-tekens in XML-elementnamen en kan daarom alleen hetzelfde verbruiken. Wanneer juridische tekens in de xml-elementnaam worden ontsnapt, wordt het element genegeerd tijdens de verwerking.
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");
}
}
Zie ook
Van toepassing op
ReadXml(XmlReader)
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
Parameters
Retouren
De XmlReadMode gegevens worden gelezen.
Voorbeelden
In het volgende voorbeeld wordt een DataTable met twee kolommen en tien rijen gemaakt. In het voorbeeld worden het schema en de DataTable gegevens naar een XmlReader. In het voorbeeld wordt een seconde DataTable gemaakt en wordt de methode aangeroepen om deze ReadXml te vullen met schema en gegevens van het XmlReader exemplaar.
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
Opmerkingen
De huidige DataTable en de afstammingen worden geladen met de gegevens uit het bestand met de naam in de opgegeven XmlReader. Het gedrag van deze methode is identiek aan die van de ReadXml methode, behalve dat in dit geval alleen gegevens worden geladen voor de huidige tabel en de onderliggende gegevens.
De ReadXml methode biedt een manier om alleen gegevens te lezen, of zowel gegevens als schema's in een DataTable XML-document, terwijl de ReadXmlSchema methode alleen het schema leest.
Houd er rekening mee dat hetzelfde geldt voor respectievelijk de WriteXml en WriteXmlSchema methoden. Als u XML-gegevens wilt schrijven, of zowel schema als gegevens uit de DataTable, gebruikt u de WriteXml methode. Als u alleen het schema wilt schrijven, gebruikt u de WriteXmlSchema methode.
Note
Er InvalidOperationException wordt een gegenereerd als een kolomtype wordt DataRow gelezen van of geschreven om te implementeren IDynamicMetaObjectProvider en niet wordt geïmplementeerd IXmlSerializable.
Als er een inlineschema is opgegeven, wordt het inlineschema gebruikt om de bestaande relationele structuur uit te breiden voordat de gegevens worden geladen. Als er conflicten zijn (bijvoorbeeld dezelfde kolom in dezelfde tabel die is gedefinieerd met verschillende gegevenstypen) wordt er een uitzondering gegenereerd.
Als er geen inlineschema is opgegeven, wordt de relationele structuur zo nodig uitgebreid via deductie, afhankelijk van de structuur van het XML-document. Als het schema niet kan worden uitgebreid via deductie om alle gegevens beschikbaar te maken, wordt er een uitzondering gegenereerd.
Note
Het DataSet element koppelt geen XML-element aan de bijbehorende DataColumn of DataTable wanneer juridische XML-tekens zoals ("_") worden ontsnapt in de geserialiseerde XML. De DataSet zelf ontsnapt alleen ongeldige XML-tekens in XML-elementnamen en kan daarom alleen hetzelfde verbruiken. Wanneer juridische tekens in de xml-elementnaam worden ontsnapt, wordt het element genegeerd tijdens de verwerking.