DataTable.ReadXml Yöntem

Tanım

XML şemasını ve verilerini içine DataTableokur.

Aşırı Yüklemeler

Name Description
ReadXml(Stream)

Belirtilen Streamkullanarak XML şemasını ve verilerini içine DataTable okur.

ReadXml(TextReader)

Belirtilen TextReaderkullanarak XML şemasını ve verilerini içine DataTable okur.

ReadXml(String)

XML şemasını ve verilerini belirtilen dosyadan içine DataTable okur.

ReadXml(XmlReader)

Belirtilen XmlReaderkullanarak XML Şemasını ve Verilerini içine DataTable okur.

Açıklamalar

ReadXml yöntemi, xml belgesinden yalnızca verileri veya hem verileri hem de şemayı DataTable okumanın bir yolunu sağlarkenReadXmlSchema, yöntem yalnızca şemayı okur. Hem verileri hem de şemayı okumak için parametresini ReadXML içeren XmlReadMode aşırı yüklemelerden birini kullanın ve değerini olarak ReadSchemaayarlayın.

Aynı değerin sırasıyla ve WriteXmlSchema yöntemleri için WriteXml de geçerli olduğunu unutmayın. XML verilerini veya 'den DataTablehem şema hem de verileri yazmak için yöntemini kullanın WriteXml . Yalnızca şemayı yazmak için yöntemini kullanın WriteXmlSchema .

Note

InvalidOperationException uygulamasından okunan veya yazılan bir sütun türü DataRow uygular ve uygulamazsa IDynamicMetaObjectProviderIXmlSerializableoluşturulur.

ReadXml(Stream)

Belirtilen Streamkullanarak XML şemasını ve verilerini içine DataTable okur.

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

Parametreler

stream
Stream

öğesinden Streamtüretilen bir nesne.

Döndürülenler

Verileri XmlReadMode okumak için kullanılan.

Örnekler

Aşağıdaki örnek, iki sütun ve on satır içeren bir DataTable oluşturur. Örnek, yöntemini çağırarak şemayı DataTable ve verileri bir bellek akışına WriteXml yazar. Örnek bir saniye DataTable oluşturur ve şema ve verilerle doldurmak için yöntemini çağırır ReadXml .

private static void DemonstrateReadWriteXMLDocumentWithStream()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintValues(table, "Original table");

    // Write the schema and data to XML in a memory stream.
    System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
    table.WriteXml(xmlStream, XmlWriteMode.WriteSchema);

    // Rewind the memory stream.
    xmlStream.Position = 0;

    DataTable newTable = new DataTable();
    newTable.ReadXml(xmlStream);

    // Print out values in the table.
    PrintValues(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

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

    table.AcceptChanges();
    return table;
}

private static void PrintValues(DataTable table, string label)
{
    // Display the contents of the supplied DataTable:
    Console.WriteLine(label);
    foreach (DataRow row in table.Rows)
    {
        foreach (DataColumn column in table.Columns)
        {
            Console.Write("\t{0}", row[column]);
        }
        Console.WriteLine();
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithStream()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintValues(table, "Original table")

  ' Write the schema and data to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXml(xmlStream, XmlWriteMode.WriteSchema)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim newTable As New DataTable
  newTable.ReadXml(xmlStream)

  ' Print out values in the table.
  PrintValues(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) As DataTable
  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

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

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintValues(ByVal table As DataTable, ByVal label As String)
  ' Display the contents of the supplied DataTable:
  Console.WriteLine(label)
  For Each row As DataRow In table.Rows
    For Each column As DataColumn In table.Columns
      Console.Write("{0}{1}", ControlChars.Tab, row(column))
    Next column
    Console.WriteLine()
  Next row
End Sub

Açıklamalar

Geçerli DataTable ve alt öğeleri, sağlanan Streamiçindeki verilerle yüklenir. Bu yöntemin davranışı yöntemin davranışıyla DataSet.ReadXml aynıdır, ancak bu durumda veriler yalnızca geçerli tablo ve alt öğeleri için yüklenir.

ReadXml yöntemi, xml belgesinden yalnızca verileri veya hem verileri hem de şemayı DataTable okumanın bir yolunu sağlarkenReadXmlSchema, yöntem yalnızca şemayı okur.

Aynı değerin sırasıyla ve WriteXmlSchema yöntemleri için WriteXml de geçerli olduğunu unutmayın. XML verilerini veya 'den DataTablehem şema hem de verileri yazmak için yöntemini kullanın WriteXml . Yalnızca şemayı yazmak için yöntemini kullanın WriteXmlSchema .

Note

InvalidOperationException uygulamasından okunan veya yazılan bir sütun türü DataRow uygular ve uygulamazsa IDynamicMetaObjectProviderIXmlSerializableoluşturulur.

Satır içi şema belirtilirse, verileri yüklemeden önce mevcut ilişkisel yapıyı genişletmek için satır içi şema kullanılır. Herhangi bir çakışma varsa (örneğin, aynı tabloda farklı veri türleriyle tanımlanan aynı sütun) bir özel durum oluşur.

Satır içi şema belirtilmezse, ilişkisel yapı, XML belgesinin yapısına göre gerektiğinde çıkarım yoluyla genişletilir. Şema, tüm verileri kullanıma sunmak için çıkarım yoluyla genişletilemiyorsa, bir özel durum oluşturulur.

Note

bir DataSet XML öğesini karşılık gelen DataColumn xml öğesiyle ilişkilendirmez veya DataTable ("_") gibi yasal XML karakterleri serileştirilmiş XML'de kaçıldığında. Kendisi DataSet yalnızca XML öğesi adlarındaki geçersiz XML karakterlerinden kaçar ve bu nedenle yalnızca aynı karakterleri kullanabilir. XML öğesi adındaki yasal karakterler kaçıldığında, öğe işlenirken yoksayılır.

Ayrıca bkz.

Şunlara uygulanır

ReadXml(TextReader)

Belirtilen TextReaderkullanarak XML şemasını ve verilerini içine DataTable okur.

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

Parametreler

reader
TextReader

TextReader Verileri okumak için kullanılacak olan.

Döndürülenler

Verileri XmlReadMode okumak için kullanılan.

Örnekler

Aşağıdaki örnek, iki sütun ve on satır içeren bir DataTable oluşturur. Örnek, yöntemini çağırarak şemayı DataTable ve verileri bir bellek akışına WriteXml yazar. Örnek bir saniye DataTable oluşturur ve şema ve verilerle doldurmak için yöntemini çağırır ReadXml .

private static void DemonstrateReadWriteXMLDocumentWithReader()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintValues(table, "Original table");

    // Write the schema and data to XML in a memory stream.
    System.IO.MemoryStream xmlStream = new System.IO.MemoryStream();
    table.WriteXml(xmlStream, XmlWriteMode.WriteSchema);

    // Rewind the memory stream.
    xmlStream.Position = 0;

    System.IO.StreamReader reader =
        new System.IO.StreamReader(xmlStream);
    DataTable newTable = new DataTable();
    newTable.ReadXml(reader);

    // Print out values in the table.
    PrintValues(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

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

    table.AcceptChanges();
    return table;
}

private static void PrintValues(DataTable table, string label)
{
    Console.WriteLine(label);
    foreach (DataRow row in table.Rows)
    {
        foreach (DataColumn column in table.Columns)
        {
            Console.Write("\t{0}", row[column]);
        }
        Console.WriteLine();
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithReader()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintValues(table, "Original table")

  ' Write the schema and data to XML in a memory stream.
  Dim xmlStream As New System.IO.MemoryStream()
  table.WriteXml(xmlStream, XmlWriteMode.WriteSchema)

  ' Rewind the memory stream.
  xmlStream.Position = 0

  Dim reader As New System.IO.StreamReader(xmlStream)
  Dim newTable As New DataTable
  newTable.ReadXml(reader)

  ' Print out values in the table.
  PrintValues(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
  As DataTable
  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

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

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintValues(ByVal table As DataTable, _
  ByVal label As String)
  Console.WriteLine(label)
  For Each row As DataRow In table.Rows
    For Each column As DataColumn In table.Columns
      Console.Write("{0}{1}", ControlChars.Tab, row(column))
    Next column
    Console.WriteLine()
  Next row
End Sub

Açıklamalar

Geçerli DataTable ve alt öğeleri, sağlanan TextReaderiçindeki verilerle yüklenir. Bu yöntemin davranışı yöntemin davranışıyla DataSet.ReadXml aynıdır, ancak bu durumda veriler yalnızca geçerli tablo ve alt öğeleri için yüklenir.

ReadXml yöntemi, xml belgesinden yalnızca verileri veya hem verileri hem de şemayı DataTable okumanın bir yolunu sağlarkenReadXmlSchema, yöntem yalnızca şemayı okur.

Aynı değerin sırasıyla ve WriteXmlSchema yöntemleri için WriteXml de geçerli olduğunu unutmayın. XML verilerini veya 'den DataTablehem şema hem de verileri yazmak için yöntemini kullanın WriteXml . Yalnızca şemayı yazmak için yöntemini kullanın WriteXmlSchema .

Note

InvalidOperationException uygulamasından okunan veya yazılan bir sütun türü DataRow uygular ve uygulamazsa IDynamicMetaObjectProviderIXmlSerializableoluşturulur.

Satır içi şema belirtilirse, verileri yüklemeden önce mevcut ilişkisel yapıyı genişletmek için satır içi şema kullanılır. Herhangi bir çakışma varsa (örneğin, aynı tabloda farklı veri türleriyle tanımlanan aynı sütun) bir özel durum oluşur.

Satır içi şema belirtilmezse, ilişkisel yapı, XML belgesinin yapısına göre gerektiğinde çıkarım yoluyla genişletilir. Şema, tüm verileri kullanıma sunmak için çıkarım yoluyla genişletilemiyorsa, bir özel durum oluşturulur.

Note

bir DataSet XML öğesini karşılık gelen DataColumn xml öğesiyle ilişkilendirmez veya DataTable ("_") gibi yasal XML karakterleri serileştirilmiş XML'de kaçıldığında. Kendisi DataSet yalnızca XML öğesi adlarındaki geçersiz XML karakterlerinden kaçar ve bu nedenle yalnızca aynı karakterleri kullanabilir. XML öğesi adındaki yasal karakterler kaçıldığında, öğe işlenirken yoksayılır.

Ayrıca bkz.

Şunlara uygulanır

ReadXml(String)

XML şemasını ve verilerini belirtilen dosyadan içine DataTable okur.

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

Parametreler

fileName
String

Verilerin okunduğu dosyanın adı.

Döndürülenler

Verileri XmlReadMode okumak için kullanılan.

Örnekler

Aşağıdaki örnek, iki sütun ve on satır içeren bir DataTable oluşturur. Örnek, şemayı DataTable ve verileri diske yazar. Örnek bir saniye DataTable oluşturur ve şema ve verilerle doldurmak için yöntemini çağırır ReadXml .

private static void DemonstrateReadWriteXMLDocumentWithString()
{
    DataTable table = CreateTestTable("XmlDemo");
    PrintValues(table, "Original table");

    string fileName = "C:\\TestData.xml";
    table.WriteXml(fileName, XmlWriteMode.WriteSchema);

    DataTable newTable = new DataTable();
    newTable.ReadXml(fileName);

    // Print out values in the table.
    PrintValues(newTable, "New table");
}

private static DataTable CreateTestTable(string tableName)
{
    // Create a test DataTable with two columns and a few rows.
    DataTable table = new DataTable(tableName);
    DataColumn column = new DataColumn("id", typeof(System.Int32));
    column.AutoIncrement = true;
    table.Columns.Add(column);

    column = new DataColumn("item", typeof(System.String));
    table.Columns.Add(column);

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

    table.AcceptChanges();
    return table;
}

private static void PrintValues(DataTable table, string label)
{
    Console.WriteLine(label);
    foreach (DataRow row in table.Rows)
    {
        foreach (DataColumn column in table.Columns)
        {
            Console.Write("\t{0}", row[column]);
        }
        Console.WriteLine();
    }
}
Private Sub DemonstrateReadWriteXMLDocumentWithString()
  Dim table As DataTable = CreateTestTable("XmlDemo")
  PrintValues(table, "Original table")

  ' Write the schema and data to XML in a file.
  Dim fileName As String = "C:\TestData.xml"
  table.WriteXml(fileName, XmlWriteMode.WriteSchema)

  Dim newTable As New DataTable
  newTable.ReadXml(fileName)

  ' Print out values in the table.
  PrintValues(newTable, "New Table")
End Sub

Private Function CreateTestTable(ByVal tableName As String) _
  As DataTable

  ' Create a test DataTable with two columns and a few rows.
  Dim table As New DataTable(tableName)
  Dim column As New DataColumn("id", GetType(System.Int32))
  column.AutoIncrement = True
  table.Columns.Add(column)

  column = New DataColumn("item", GetType(System.String))
  table.Columns.Add(column)

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

  table.AcceptChanges()
  Return table
End Function

Private Sub PrintValues(ByVal table As DataTable, _
  ByVal label As String)
  Console.WriteLine(label)
  For Each row As DataRow In table.Rows
    For Each column As DataColumn In table.Columns
      Console.Write("{0}{1}", ControlChars.Tab, row(column))
    Next column
    Console.WriteLine()
  Next row
End Sub

Açıklamalar

Geçerli DataTable ve alt öğeleri, sağlanan Stringdosyasındaki adlı dosyadan verilerle yüklenir. Bu yöntemin davranışı yöntemin davranışıyla DataSet.ReadXml aynıdır, ancak bu durumda veriler yalnızca geçerli tablo ve alt öğeleri için yüklenir.

ReadXml yöntemi, xml belgesinden yalnızca verileri veya hem verileri hem de şemayı DataTable okumanın bir yolunu sağlarkenReadXmlSchema, yöntem yalnızca şemayı okur.

Aynı değerin sırasıyla ve WriteXmlSchema yöntemleri için WriteXml de geçerli olduğunu unutmayın. XML verilerini veya 'den DataTablehem şema hem de verileri yazmak için yöntemini kullanın WriteXml . Yalnızca şemayı yazmak için yöntemini kullanın WriteXmlSchema .

Note

InvalidOperationException uygulamasından okunan veya yazılan bir sütun türü DataRow uygular ve uygulamazsa IDynamicMetaObjectProviderIXmlSerializableoluşturulur.

Satır içi şema belirtilirse, verileri yüklemeden önce mevcut ilişkisel yapıyı genişletmek için satır içi şema kullanılır. Herhangi bir çakışma varsa (örneğin, aynı tabloda farklı veri türleriyle tanımlanan aynı sütun) bir özel durum oluşur.

Satır içi şema belirtilmezse, ilişkisel yapı, XML belgesinin yapısına göre gerektiğinde çıkarım yoluyla genişletilir. Şema, tüm verileri kullanıma sunmak için çıkarım yoluyla genişletilemiyorsa, bir özel durum oluşturulur.

Note

bir DataSet XML öğesini karşılık gelen DataColumn xml öğesiyle ilişkilendirmez veya DataTable ("_") gibi yasal XML karakterleri serileştirilmiş XML'de kaçıldığında. Kendisi DataSet yalnızca XML öğesi adlarındaki geçersiz XML karakterlerinden kaçar ve bu nedenle yalnızca aynı karakterleri kullanabilir. XML öğesi adındaki yasal karakterler kaçıldığında, öğe işlenirken yoksayılır.

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

Ayrıca bkz.

Şunlara uygulanır

ReadXml(XmlReader)

Belirtilen XmlReaderkullanarak XML Şemasını ve Verilerini içine DataTable okur.

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

Parametreler

reader
XmlReader

XmlReader Verileri okumak için kullanılacak olan.

Döndürülenler

Verileri XmlReadMode okumak için kullanılan.

Örnekler

Aşağıdaki örnek, iki sütun ve on satır içeren bir DataTable oluşturur. Örnek şemayı DataTable ve verileri bir XmlReaderöğesine yazar. Örnek bir saniye DataTable oluşturur ve bunu şema ve örnekteki ReadXmlXmlReader verilerle doldurmak için yöntemini çağırır.

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

Açıklamalar

Geçerli DataTable ve alt öğeleri, sağlanan XmlReaderdosyasındaki adlı dosyadan verilerle yüklenir. Bu yöntemin davranışı yöntemin davranışıyla ReadXml aynıdır, ancak bu durumda veriler yalnızca geçerli tablo ve alt öğeleri için yüklenir.

ReadXml yöntemi, xml belgesinden yalnızca verileri veya hem verileri hem de şemayı DataTable okumanın bir yolunu sağlarkenReadXmlSchema, yöntem yalnızca şemayı okur.

Aynı değerin sırasıyla ve WriteXmlSchema yöntemleri için WriteXml de geçerli olduğunu unutmayın. XML verilerini veya 'den DataTablehem şema hem de verileri yazmak için yöntemini kullanın WriteXml . Yalnızca şemayı yazmak için yöntemini kullanın WriteXmlSchema .

Note

InvalidOperationException uygulamasından okunan veya yazılan bir sütun türü DataRow uygular ve uygulamazsa IDynamicMetaObjectProviderIXmlSerializableoluşturulur.

Satır içi şema belirtilirse, verileri yüklemeden önce mevcut ilişkisel yapıyı genişletmek için satır içi şema kullanılır. Herhangi bir çakışma varsa (örneğin, aynı tabloda farklı veri türleriyle tanımlanan aynı sütun) bir özel durum oluşur.

Satır içi şema belirtilmezse, ilişkisel yapı, XML belgesinin yapısına göre gerektiğinde çıkarım yoluyla genişletilir. Şema, tüm verileri kullanıma sunmak için çıkarım yoluyla genişletilemiyorsa, bir özel durum oluşturulur.

Note

bir DataSet XML öğesini karşılık gelen DataColumn xml öğesiyle ilişkilendirmez veya DataTable ("_") gibi yasal XML karakterleri serileştirilmiş XML'de kaçıldığında. Kendisi DataSet yalnızca XML öğesi adlarındaki geçersiz XML karakterlerinden kaçar ve bu nedenle yalnızca aynı karakterleri kullanabilir. XML öğesi adındaki yasal karakterler kaçıldığında, öğe işlenirken yoksayılır.

Ayrıca bkz.

Şunlara uygulanır