DataTable.ReadXml Metoda

Definice

Načte schéma a data XML do objektu DataTable.

Přetížení

ReadXml(Stream)

Načte schéma XML a data do objektu DataTable pomocí zadaného Streamobjektu .

ReadXml(TextReader)

Načte schéma XML a data do objektu DataTable pomocí zadaného TextReaderobjektu .

ReadXml(String)

Načte ze zadaného souboru schéma XML a data.DataTable

ReadXml(XmlReader)

Načte schéma a data XML do objektu DataTable pomocí zadaného XmlReaderobjektu .

Poznámky

Metoda ReadXml poskytuje způsob, jak číst buď pouze data, nebo jak data a schéma z DataTable dokumentu XML, zatímco ReadXmlSchema metoda čte pouze schéma. Pokud chcete číst data i schéma, použijte jedno z ReadXML přetížení, které obsahuje XmlReadMode parametr, a nastavte jeho hodnotu na ReadSchema.

Všimněte si, že totéž platí pro WriteXml metody a WriteXmlSchema v uvedeném pořadí. K zápisu dat XML nebo schématu i dat z objektu DataTablepoužijte metodu WriteXml . K zápisu pouze schématu použijte metodu WriteXmlSchema .

Poznámka

Vyvolá InvalidOperationException se, pokud typ sloupce v objektu, který DataRow se čte z nebo zapisuje IDynamicMetaObjectProvider do implementace, a neimplementuje IXmlSerializable.

ReadXml(Stream)

Zdroj:
DataTable.cs
Zdroj:
DataTable.cs
Zdroj:
DataTable.cs

Načte schéma XML a data do objektu DataTable pomocí zadaného Streamobjektu .

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

Parametry

stream
Stream

Objekt, který je odvozen z Stream.

Návraty

Slouží XmlReadMode ke čtení dat.

Příklady

Následující příklad vytvoří objekt obsahující DataTable dva sloupce a deset řádků. Příklad zapíše DataTable schéma a data do datového proudu paměti vyvoláním WriteXml metody . Příklad vytvoří sekundu DataTable a zavolá metodu , ReadXml která ji naplní schématem a daty.

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

Poznámky

Proud DataTable a jeho sestupné hodnoty jsou načteny daty ze zadaného Streamobjektu . Chování této metody je stejné jako DataSet.ReadXml chování metody, s výjimkou toho, že v tomto případě jsou data načtena pouze pro aktuální tabulku a její potomky.

Metoda ReadXml poskytuje způsob, jak číst buď data pouze, nebo jak data, tak schéma do DataTable z dokumentu XML, zatímco ReadXmlSchema metoda čte pouze schéma.

Všimněte si, že totéž platí pro WriteXml metody a WriteXmlSchema v uvedeném pořadí. K zápisu dat XML nebo schématu i dat z objektu DataTablepoužijte metodu WriteXml . Pokud chcete napsat pouze schéma, použijte metodu WriteXmlSchema .

Poznámka

Vyvolá InvalidOperationException se, pokud typ sloupce v objektu DataRow , ze kterého se čte nebo do kterého se zapisuje, implementuje IDynamicMetaObjectProvider a neimplementuje IXmlSerializable.

Pokud je zadáno vložené schéma, rozšiřuje toto vložené schéma stávající relační strukturu před načtením dat. Pokud se vyskytnou jakékoli konflikty (například stejný sloupec je ve stejné tabulce definován s použitím různých typů dat), je vyvolána výjimka.

Pokud není zadáno žádné vložené schéma, rozšiřuje se relační struktura v případě potřeby prostřednictvím odvození podle struktury dokumentu XML. Pokud schéma nelze rozšířit prostřednictvím odvození tak, aby byla vystavena všechna data, je vyvolána výjimka.

Poznámka

Nepřidružuje DataSet element XML s jeho odpovídající DataColumn nebo DataTable když právní XML znaky jako ("_") jsou řídicí v serializované XML. Sám DataSet o sobě pouze uchytá neplatné znaky XML v názvech elementů XML, a proto může používat pouze stejné. Pokud jsou povolené znaky v názvu elementu XML uvozeny řídicími znaky, je element při zpracování ignorován.

Viz také

Platí pro

ReadXml(TextReader)

Zdroj:
DataTable.cs
Zdroj:
DataTable.cs
Zdroj:
DataTable.cs

Načte schéma XML a data do objektu DataTable pomocí zadaného TextReaderobjektu .

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

Parametry

reader
TextReader

Hodnota TextReader , která se použije ke čtení dat.

Návraty

Slouží XmlReadMode ke čtení dat.

Příklady

Následující příklad vytvoří objekt obsahující DataTable dva sloupce a deset řádků. Příklad zapíše DataTable schéma a data do datového proudu paměti vyvoláním WriteXml metody . Příklad vytvoří sekundu DataTable a zavolá metodu , ReadXml která ji naplní schématem a daty.

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

Poznámky

Proud DataTable a jeho sestupné hodnoty jsou načteny daty ze zadaného TextReaderobjektu . Chování této metody je stejné jako DataSet.ReadXml chování metody, s výjimkou toho, že v tomto případě jsou data načtena pouze pro aktuální tabulku a její potomky.

Metoda ReadXml poskytuje způsob, jak číst buď data pouze, nebo jak data, tak schéma do DataTable z dokumentu XML, zatímco ReadXmlSchema metoda čte pouze schéma.

Všimněte si, že totéž platí pro WriteXml metody a WriteXmlSchema v uvedeném pořadí. K zápisu dat XML nebo schématu i dat z objektu DataTablepoužijte metodu WriteXml . Pokud chcete napsat pouze schéma, použijte metodu WriteXmlSchema .

Poznámka

Vyvolá InvalidOperationException se, pokud typ sloupce v objektu DataRow , ze kterého se čte nebo do kterého se zapisuje, implementuje IDynamicMetaObjectProvider a neimplementuje IXmlSerializable.

Pokud je zadáno vložené schéma, rozšiřuje toto vložené schéma stávající relační strukturu před načtením dat. Pokud se vyskytnou jakékoli konflikty (například stejný sloupec je ve stejné tabulce definován s použitím různých typů dat), je vyvolána výjimka.

Pokud není zadáno žádné vložené schéma, rozšiřuje se relační struktura v případě potřeby prostřednictvím odvození podle struktury dokumentu XML. Pokud schéma nelze rozšířit prostřednictvím odvození tak, aby byla vystavena všechna data, je vyvolána výjimka.

Poznámka

Nepřidružuje DataSet element XML s jeho odpovídající DataColumn nebo DataTable když právní XML znaky jako ("_") jsou řídicí v serializované XML. Sám DataSet o sobě pouze uchytá neplatné znaky XML v názvech elementů XML, a proto může používat pouze stejné. Pokud jsou povolené znaky v názvu elementu XML uvozeny řídicími znaky, je element při zpracování ignorován.

Viz také

Platí pro

ReadXml(String)

Zdroj:
DataTable.cs
Zdroj:
DataTable.cs
Zdroj:
DataTable.cs

Načte ze zadaného souboru schéma XML a data.DataTable

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

Parametry

fileName
String

Název souboru, ze kterého se mají číst data.

Návraty

Slouží XmlReadMode ke čtení dat.

Příklady

Následující příklad vytvoří objekt obsahující DataTable dva sloupce a deset řádků. Příklad zapíše DataTable schéma a data na disk. Příklad vytvoří sekundu DataTable a zavolá metodu , ReadXml která ji naplní schématem a daty.

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

Poznámky

Aktuální DataTable a jeho potomci se načtou s daty ze souboru s názvem v zadaném Stringsouboru . Chování této metody je stejné jako DataSet.ReadXml chování metody, s výjimkou toho, že v tomto případě jsou data načtena pouze pro aktuální tabulku a její potomky.

Metoda ReadXml poskytuje způsob, jak číst buď data pouze, nebo jak data, tak schéma do DataTable z dokumentu XML, zatímco ReadXmlSchema metoda čte pouze schéma.

Všimněte si, že totéž platí pro WriteXml metody a WriteXmlSchema v uvedeném pořadí. K zápisu dat XML nebo schématu i dat z objektu DataTablepoužijte metodu WriteXml . Pokud chcete napsat pouze schéma, použijte metodu WriteXmlSchema .

Poznámka

Vyvolá InvalidOperationException se, pokud typ sloupce v objektu DataRow , ze kterého se čte nebo do kterého se zapisuje, implementuje IDynamicMetaObjectProvider a neimplementuje IXmlSerializable.

Pokud je zadáno vložené schéma, rozšiřuje toto vložené schéma stávající relační strukturu před načtením dat. Pokud se vyskytnou jakékoli konflikty (například stejný sloupec je ve stejné tabulce definován s použitím různých typů dat), je vyvolána výjimka.

Pokud není zadáno žádné vložené schéma, rozšiřuje se relační struktura v případě potřeby prostřednictvím odvození podle struktury dokumentu XML. Pokud schéma nelze rozšířit prostřednictvím odvození tak, aby byla vystavena všechna data, je vyvolána výjimka.

Poznámka

Nepřidružuje DataSet element XML s jeho odpovídající DataColumn nebo DataTable když právní XML znaky jako ("_") jsou řídicí v serializované XML. Sám DataSet o sobě pouze uchytá neplatné znaky XML v názvech elementů XML, a proto může používat pouze stejné. Pokud jsou povolené znaky v názvu elementu XML uvozeny řídicími znaky, je element při zpracování ignorován.

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");
   }
}

Viz také

Platí pro

ReadXml(XmlReader)

Zdroj:
DataTable.cs
Zdroj:
DataTable.cs
Zdroj:
DataTable.cs

Načte schéma XML a data do objektu DataTable pomocí zadaného XmlReaderobjektu .

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

Parametry

reader
XmlReader

Hodnota XmlReader , která se použije ke čtení dat.

Návraty

Slouží XmlReadMode ke čtení dat.

Příklady

Následující příklad vytvoří objekt obsahující DataTable dva sloupce a deset řádků. Příklad zapíše DataTable schéma a data do objektu XmlReader. Příklad vytvoří sekundu DataTable a zavolá metodu ReadXml , která ji vyplní schématem a daty XmlReader z instance.

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

Poznámky

Aktuální DataTable a jeho potomci se načtou s daty ze souboru s názvem v zadaném XmlReadersouboru . Chování této metody je stejné jako ReadXml chování metody, s výjimkou toho, že v tomto případě jsou data načtena pouze pro aktuální tabulku a její potomky.

Metoda ReadXml poskytuje způsob, jak číst buď data pouze, nebo jak data, tak schéma do DataTable z dokumentu XML, zatímco ReadXmlSchema metoda čte pouze schéma.

Všimněte si, že totéž platí pro WriteXml metody a WriteXmlSchema v uvedeném pořadí. K zápisu dat XML nebo schématu i dat z objektu DataTablepoužijte metodu WriteXml . Pokud chcete napsat pouze schéma, použijte metodu WriteXmlSchema .

Poznámka

Vyvolá InvalidOperationException se, pokud typ sloupce v objektu DataRow , ze kterého se čte nebo do kterého se zapisuje, implementuje IDynamicMetaObjectProvider a neimplementuje IXmlSerializable.

Pokud je zadáno vložené schéma, rozšiřuje toto vložené schéma stávající relační strukturu před načtením dat. Pokud se vyskytnou jakékoli konflikty (například stejný sloupec je ve stejné tabulce definován s použitím různých typů dat), je vyvolána výjimka.

Pokud není zadáno žádné vložené schéma, rozšiřuje se relační struktura v případě potřeby prostřednictvím odvození podle struktury dokumentu XML. Pokud schéma nelze rozšířit prostřednictvím odvození tak, aby byla vystavena všechna data, je vyvolána výjimka.

Poznámka

Nepřidružuje DataSet element XML s jeho odpovídající DataColumn nebo DataTable když právní XML znaky jako ("_") jsou řídicí v serializované XML. Sám DataSet o sobě pouze uchytá neplatné znaky XML v názvech elementů XML, a proto může používat pouze stejné. Pokud jsou povolené znaky v názvu elementu XML uvozeny řídicími znaky, je element při zpracování ignorován.

Viz také

Platí pro