DataTable.WriteXml Méthode

Définition

Écrit le contenu actuel du DataTable au format XML.

Surcharges

WriteXml(TextWriter, Boolean)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de TextWriter spécifié. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

WriteXml(TextWriter, XmlWriteMode)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des TextWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.

WriteXml(String, XmlWriteMode)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide du fichier et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.

WriteXml(Stream, XmlWriteMode)

Écrit les données en cours, et éventuellement le schéma, de DataTable dans le fichier spécifié à l'aide du XmlWriteMode spécifié. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.

WriteXml(XmlWriter, Boolean)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de XmlWriter spécifié.

WriteXml(XmlWriter, XmlWriteMode)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des XmlWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.

WriteXml(Stream, XmlWriteMode, Boolean)

Écrit les données en cours, et éventuellement le schéma, de DataTable dans le fichier spécifié à l'aide du XmlWriteMode spécifié. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

WriteXml(TextWriter, XmlWriteMode, Boolean)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des TextWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

WriteXml(String, Boolean)

Écrit le contenu actuel du DataTable au format XML à l'aide du fichier spécifié. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

WriteXml(Stream, Boolean)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de Stream spécifié. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des XmlWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

WriteXml(String)

Écrit le contenu actuel du DataTable au format XML à l'aide du fichier spécifié.

WriteXml(TextWriter)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de TextWriter spécifié.

WriteXml(Stream)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de Stream spécifié.

WriteXml(String, XmlWriteMode, Boolean)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide du fichier et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

WriteXml(XmlWriter)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de XmlWriter spécifié.

Exemples

L’application console suivante crée deux DataTable instances, ajoute chacune à un DataSet, crée un DataRelation lien entre les deux tables, puis utilise la WriteXml méthode pour écrire les données contenues dans la table parente dans un TextWriter. L’exemple illustre le comportement lors de la définition du writeHierarchy paramètre sur chacune de ses valeurs.

Notes

Cet exemple montre comment utiliser l’une des versions surchargées de WriteXml. Pour obtenir d’autres exemples qui peuvent être disponibles, consultez les rubriques de surcharge individuelles.

static void Main()
{
    DataSet ds = new DataSet();
    DataTable customerTable = GetCustomers();
    DataTable orderTable = GetOrders();

    ds.Tables.Add(customerTable);
    ds.Tables.Add(orderTable);
    ds.Relations.Add("CustomerOrder",
        new DataColumn[] { customerTable.Columns[0] },
        new DataColumn[] { orderTable.Columns[1] }, true);

    System.IO.StringWriter writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, false);
    PrintOutput(writer, "Customer table, without hierarchy");

    writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, true);
    PrintOutput(writer, "Customer table, with hierarchy");

    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(System.Int32));
    table.Columns.Add("Name", typeof(System.String));

    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    table.AcceptChanges();
    return table;
}

private static DataTable GetOrders()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create three columns; OrderID, CustomerID, and OrderDate.
    table.Columns.Add(new DataColumn("OrderID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("CustomerID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("OrderDate", typeof(System.DateTime)));

    // Set the OrderID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { table.Columns[0] };

    table.Rows.Add(new object[] { 1, 1, "12/2/2003" });
    table.Rows.Add(new object[] { 2, 1, "1/3/2004" });
    table.Rows.Add(new object[] { 3, 2, "11/13/2004" });
    table.Rows.Add(new object[] { 4, 3, "5/16/2004" });
    table.Rows.Add(new object[] { 5, 3, "5/22/2004" });
    table.Rows.Add(new object[] { 6, 4, "6/15/2004" });
    table.AcceptChanges();
    return table;
}

private static void PrintOutput(System.IO.TextWriter writer, string caption)
{
    Console.WriteLine("==============================");
    Console.WriteLine(caption);
    Console.WriteLine("==============================");
    Console.WriteLine(writer.ToString());
}
Sub Main()
  Dim ds As New DataSet
  Dim customerTable As DataTable = GetCustomers()
  Dim orderTable As DataTable = GetOrders()

  ds.Tables.Add(customerTable)
  ds.Tables.Add(orderTable)
  ds.Relations.Add("CustomerOrder", _
   New DataColumn() {customerTable.Columns(0)}, _
   New DataColumn() {orderTable.Columns(1)}, True)

  Dim writer As New System.IO.StringWriter
  customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, False)
  PrintOutput(writer, "Customer table, without hierarchy")

  writer = New System.IO.StringWriter
  customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, True)
  PrintOutput(writer, "Customer table, with hierarchy")

  Console.WriteLine("Press any key to continue.")
  Console.ReadKey()
End Sub

Private Function GetOrders() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create three columns, OrderID, CustomerID, and OrderDate.
  table.Columns.Add(New DataColumn("OrderID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("CustomerID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("OrderDate", GetType(System.DateTime)))

  ' Set the OrderID column as the primary key column.
  table.PrimaryKey = New DataColumn() {table.Columns(0)}

  table.Rows.Add(New Object() {1, 1, #12/2/2003#})
  table.Rows.Add(New Object() {2, 1, #1/3/2004#})
  table.Rows.Add(New Object() {3, 2, #11/13/2004#})
  table.Rows.Add(New Object() {4, 3, #5/16/2004#})
  table.Rows.Add(New Object() {5, 3, #5/22/2004#})
  table.Rows.Add(New Object() {6, 4, #6/15/2004#})
  table.AcceptChanges()
  Return table
End Function

Private Function GetCustomers() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create two columns, ID and Name.
  Dim idColumn As DataColumn = table.Columns.Add("ID", _
      GetType(System.Int32))
  table.Columns.Add("Name", GetType(System.String))

  ' Set the ID column as the primary key column.
  table.PrimaryKey = New DataColumn() {idColumn}

  table.Rows.Add(New Object() {1, "Mary"})
  table.Rows.Add(New Object() {2, "Andy"})
  table.Rows.Add(New Object() {3, "Peter"})
  table.Rows.Add(New Object() {4, "Russ"})
  table.AcceptChanges()
  Return table
End Function

Private Sub PrintOutput( _
   ByVal writer As System.IO.TextWriter, ByVal caption As String)

  Console.WriteLine("==============================")
  Console.WriteLine(caption)
  Console.WriteLine("==============================")
  Console.WriteLine(writer.ToString())
End Sub

L'exemple affiche la sortie suivante dans la fenêtre de console :

==============================
Customer table, without hierarchy
==============================
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema
" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table1">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" type="xs:int" />
                <xs:element name="Name" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">
        <xs:selector xpath=".//Table1" />
        <xs:field xpath="ID" />
      </xs:unique>
    </xs:element>
  </xs:schema>
  <Table1>
    <ID>1</ID>
    <Name>Mary</Name>
  </Table1>
  <Table1>
    <ID>2</ID>
    <Name>Andy</Name>
  </Table1>
  <Table1>
    <ID>3</ID>
    <Name>Peter</Name>
  </Table1>
  <Table1>
    <ID>4</ID>
    <Name>Russ</Name>
  </Table1>
</NewDataSet>
==============================
Customer table, with hierarchy
==============================
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema
" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table1">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" type="xs:int" />
                <xs:element name="Name" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="Table2">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="OrderID" type="xs:int" />
                <xs:element name="CustomerID" type="xs:int" minOccurs="0" />
                <xs:element name="OrderDate" type="xs:dateTime" minOccurs="0" />

              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">
        <xs:selector xpath=".//Table1" />
        <xs:field xpath="ID" />
      </xs:unique>
      <xs:unique name="Table2_Constraint1" msdata:ConstraintName="Constraint1" m
sdata:PrimaryKey="true">
        <xs:selector xpath=".//Table2" />
        <xs:field xpath="OrderID" />
      </xs:unique>
      <xs:keyref name="CustomerOrder" refer="Constraint1">
        <xs:selector xpath=".//Table2" />
        <xs:field xpath="CustomerID" />
      </xs:keyref>
    </xs:element>
  </xs:schema>
  <Table1>
    <ID>1</ID>
    <Name>Mary</Name>
  </Table1>
  <Table1>
    <ID>2</ID>
    <Name>Andy</Name>
  </Table1>
  <Table1>
    <ID>3</ID>
    <Name>Peter</Name>
  </Table1>
  <Table1>
    <ID>4</ID>
    <Name>Russ</Name>
  </Table1>
  <Table2>
    <OrderID>1</OrderID>
    <CustomerID>1</CustomerID>
    <OrderDate>2003-12-02T00:00:00.0000000-08:00</OrderDate>
  </Table2>
  <Table2>
    <OrderID>2</OrderID>
    <CustomerID>1</CustomerID>
    <OrderDate>2004-01-03T00:00:00.0000000-08:00</OrderDate>
  </Table2>
  <Table2>
    <OrderID>3</OrderID>
    <CustomerID>2</CustomerID>
    <OrderDate>2004-11-13T00:00:00.0000000-08:00</OrderDate>
  </Table2>
  <Table2>
    <OrderID>4</OrderID>
    <CustomerID>3</CustomerID>
    <OrderDate>2004-05-16T00:00:00.0000000-07:00</OrderDate>
  </Table2>
  <Table2>
    <OrderID>5</OrderID>
    <CustomerID>3</CustomerID>
    <OrderDate>2004-05-22T00:00:00.0000000-07:00</OrderDate>
  </Table2>
  <Table2>
    <OrderID>6</OrderID>
    <CustomerID>4</CustomerID>
    <OrderDate>2004-06-15T00:00:00.0000000-07:00</OrderDate>
  </Table2>
</NewDataSet>

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable dans un document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire des données et un schéma, utilisez l’une des surcharges qui incluent le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou des schémas et des données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Notes

Un InvalidOperationException est levée si un type de colonne dans le DataRow en cours de lecture ou d’écriture dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

WriteXml(TextWriter, Boolean)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de TextWriter spécifié. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

public:
 void WriteXml(System::IO::TextWriter ^ writer, bool writeHierarchy);
public void WriteXml (System.IO.TextWriter? writer, bool writeHierarchy);
public void WriteXml (System.IO.TextWriter writer, bool writeHierarchy);
member this.WriteXml : System.IO.TextWriter * bool -> unit
Public Sub WriteXml (writer As TextWriter, writeHierarchy As Boolean)

Paramètres

writer
TextWriter

TextWriter avec lequel écrire le contenu.

writeHierarchy
Boolean

Si true, écrivez le contenu de la table en cours et de tous ses descendants. Si false (valeur par défaut), écrivez les données pour la table en cours uniquement.

Exemples

L’application console suivante crée deux DataTable instances, ajoute chacune à un DataSet, crée un DataRelation lien entre les deux tables, puis utilise la WriteXml méthode pour écrire les données contenues dans la table parente dans un TextWriter. L’exemple illustre le comportement lors de la définition du writeHierarchy paramètre sur true.

static void Main()
{
    DataSet ds = new DataSet();
    DataTable customerTable = GetCustomers();
    DataTable orderTable = GetOrders();

    ds.Tables.Add(customerTable);
    ds.Tables.Add(orderTable);
    ds.Relations.Add("CustomerOrder",
        new DataColumn[] { customerTable.Columns[0] },
        new DataColumn[] { orderTable.Columns[1] }, true);

    System.IO.StringWriter writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, true);
    PrintOutput(writer, "Customer table, with hierarchy");

    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(System.Int32));
    table.Columns.Add("Name", typeof(System.String));

    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    table.AcceptChanges();
    return table;
}

private static DataTable GetOrders()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create three columns; OrderID, CustomerID, and OrderDate.
    table.Columns.Add(new DataColumn("OrderID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("CustomerID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("OrderDate", typeof(System.DateTime)));

    // Set the OrderID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { table.Columns[0] };

    table.Rows.Add(new object[] { 1, 1, "12/2/2003" });
    table.Rows.Add(new object[] { 2, 1, "1/3/2004" });
    table.Rows.Add(new object[] { 3, 2, "11/13/2004" });
    table.Rows.Add(new object[] { 4, 3, "5/16/2004" });
    table.Rows.Add(new object[] { 5, 3, "5/22/2004" });
    table.Rows.Add(new object[] { 6, 4, "6/15/2004" });
    table.AcceptChanges();
    return table;
}

private static void PrintOutput(System.IO.TextWriter stream,
    string caption)
{
    Console.WriteLine("==============================");
    Console.WriteLine(caption);
    Console.WriteLine("==============================");
    Console.WriteLine(stream.ToString());
}
Sub Main()
  Dim ds As New DataSet
  Dim customerTable As DataTable = GetCustomers()
  Dim orderTable As DataTable = GetOrders()

  ds.Tables.Add(customerTable)
  ds.Tables.Add(orderTable)
  ds.Relations.Add("CustomerOrder", _
   New DataColumn() {customerTable.Columns(0)}, _
   New DataColumn() {orderTable.Columns(1)}, True)

  Dim writer As New System.IO.StringWriter
  customerTable.WriteXml(writer, True)
  PrintOutput(writer, "Customer table, with hierarchy")

  Console.WriteLine("Press any key to continue.")
  Console.ReadKey()
End Sub

Private Function GetOrders() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create three columns, OrderID, CustomerID, and OrderDate.
  table.Columns.Add(New DataColumn("OrderID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("CustomerID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("OrderDate", GetType(System.DateTime)))

  ' Set the OrderID column as the primary key column.
  table.PrimaryKey = New DataColumn() {table.Columns(0)}

  table.Rows.Add(New Object() {1, 1, #12/2/2003#})
  table.Rows.Add(New Object() {2, 1, #1/3/2004#})
  table.Rows.Add(New Object() {3, 2, #11/13/2004#})
  table.Rows.Add(New Object() {4, 3, #5/16/2004#})
  table.Rows.Add(New Object() {5, 3, #5/22/2004#})
  table.Rows.Add(New Object() {6, 4, #6/15/2004#})
  table.AcceptChanges()
  Return table
End Function

Private Function GetCustomers() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create two columns, ID and Name.
  Dim idColumn As DataColumn = table.Columns.Add("ID", _
      GetType(System.Int32))
  table.Columns.Add("Name", GetType(System.String))

  ' Set the ID column as the primary key column.
  table.PrimaryKey = New DataColumn() {idColumn}

  table.Rows.Add(New Object() {1, "Mary"})
  table.Rows.Add(New Object() {2, "Andy"})
  table.Rows.Add(New Object() {3, "Peter"})
  table.Rows.Add(New Object() {4, "Russ"})
  table.AcceptChanges()
  Return table
End Function

Private Sub PrintOutput( _
   ByVal stream As System.IO.TextWriter, ByVal caption As String)

  Console.WriteLine("==============================")
  Console.WriteLine(caption)
  Console.WriteLine("==============================")
  Console.WriteLine(stream.ToString())
End Sub

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire à la fois des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Normalement, la WriteXml méthode écrit les données uniquement pour la table active. Pour écrire les données de la table active et de toutes ses tables associées descendantes, appelez la méthode avec le writeHierarchy paramètre défini sur true.

Notes

Un InvalidOperationException sera levée si un type de colonne dans le DataRow en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(TextWriter, XmlWriteMode)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des TextWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.

public:
 void WriteXml(System::IO::TextWriter ^ writer, System::Data::XmlWriteMode mode);
public void WriteXml (System.IO.TextWriter? writer, System.Data.XmlWriteMode mode);
public void WriteXml (System.IO.TextWriter writer, System.Data.XmlWriteMode mode);
member this.WriteXml : System.IO.TextWriter * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (writer As TextWriter, mode As XmlWriteMode)

Paramètres

writer
TextWriter

TextWriter utilisé pour écrire le document.

mode
XmlWriteMode

Une des valeurs de l'objet XmlWriteMode.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire à la fois des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou à la fois le schéma et les données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Notes

Un InvalidOperationException sera levée si un type de colonne dans le DataRow en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(String, XmlWriteMode)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide du fichier et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.

public:
 void WriteXml(System::String ^ fileName, System::Data::XmlWriteMode mode);
public void WriteXml (string fileName, System.Data.XmlWriteMode mode);
member this.WriteXml : string * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (fileName As String, mode As XmlWriteMode)

Paramètres

fileName
String

Nom du fichier dans lequel les données seront écrites.

mode
XmlWriteMode

Une des valeurs de l'objet XmlWriteMode.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable dans un document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire des données et un schéma, utilisez l’une des surcharges qui incluent le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou des schémas et des données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Notes

Un InvalidOperationException est levée si un type de colonne dans le DataRow en cours de lecture ou d’écriture dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(Stream, XmlWriteMode)

Écrit les données en cours, et éventuellement le schéma, de DataTable dans le fichier spécifié à l'aide du XmlWriteMode spécifié. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.

public:
 void WriteXml(System::IO::Stream ^ stream, System::Data::XmlWriteMode mode);
public void WriteXml (System.IO.Stream? stream, System.Data.XmlWriteMode mode);
public void WriteXml (System.IO.Stream stream, System.Data.XmlWriteMode mode);
member this.WriteXml : System.IO.Stream * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (stream As Stream, mode As XmlWriteMode)

Paramètres

stream
Stream

Flux de données dans lequel les données seront écrites.

mode
XmlWriteMode

Une des valeurs de l'objet XmlWriteMode.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable dans un document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou des schémas et des données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Notes

Un InvalidOperationException est levée si un type de colonne dans le DataRow en cours de lecture ou d’écriture dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(XmlWriter, Boolean)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de XmlWriter spécifié.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, bool writeHierarchy);
public void WriteXml (System.Xml.XmlWriter? writer, bool writeHierarchy);
public void WriteXml (System.Xml.XmlWriter writer, bool writeHierarchy);
member this.WriteXml : System.Xml.XmlWriter * bool -> unit
Public Sub WriteXml (writer As XmlWriter, writeHierarchy As Boolean)

Paramètres

writer
XmlWriter

XmlWriter à l'aide duquel écrire le contenu.

writeHierarchy
Boolean

Si true, écrivez le contenu de la table en cours et de tous ses descendants. Si false (valeur par défaut), écrivez les données pour la table en cours uniquement.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable dans un document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire des données et un schéma, utilisez l’une des surcharges qui incluent le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou des schémas et des données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Normalement, la WriteXml méthode écrit les données uniquement pour la table active. Pour écrire les données de la table active et de l’ensemble des tables associées descendantes, appelez la méthode avec le writeHierarchy paramètre défini sur true.

Notes

Un InvalidOperationException est levée si un type de colonne dans le DataRow en cours de lecture ou d’écriture dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(XmlWriter, XmlWriteMode)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des XmlWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, System::Data::XmlWriteMode mode);
public void WriteXml (System.Xml.XmlWriter? writer, System.Data.XmlWriteMode mode);
public void WriteXml (System.Xml.XmlWriter writer, System.Data.XmlWriteMode mode);
member this.WriteXml : System.Xml.XmlWriter * System.Data.XmlWriteMode -> unit
Public Sub WriteXml (writer As XmlWriter, mode As XmlWriteMode)

Paramètres

writer
XmlWriter

XmlWriter utilisé pour écrire le document.

mode
XmlWriteMode

Une des valeurs de l'objet XmlWriteMode.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable dans un document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire des données et un schéma, utilisez l’une des surcharges qui incluent le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou des schémas et des données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Notes

Un InvalidOperationException est levée si un type de colonne dans le DataRow en cours de lecture ou d’écriture dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(Stream, XmlWriteMode, Boolean)

Écrit les données en cours, et éventuellement le schéma, de DataTable dans le fichier spécifié à l'aide du XmlWriteMode spécifié. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

public:
 void WriteXml(System::IO::Stream ^ stream, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.IO.Stream? stream, System.Data.XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.IO.Stream stream, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : System.IO.Stream * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (stream As Stream, mode As XmlWriteMode, writeHierarchy As Boolean)

Paramètres

stream
Stream

Flux de données dans lequel les données seront écrites.

mode
XmlWriteMode

Une des valeurs de l'objet XmlWriteMode.

writeHierarchy
Boolean

Si true, écrivez le contenu de la table en cours et de tous ses descendants. Si false (valeur par défaut), écrivez les données pour la table en cours uniquement.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable dans un document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou des schémas et des données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Normalement, la WriteXml méthode enregistre les données uniquement pour la table active. La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable dans un document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou des schémas et des données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Normalement, la WriteXml méthode écrit les données uniquement pour la table active. Pour écrire les données de la table active et de toutes ses tables associées descendantes, appelez la méthode avec le writeHierarchy paramètre défini sur true.

Notes

Un InvalidOperationException est levée si un type de colonne dans le DataRow en cours de lecture ou d’écriture dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(TextWriter, XmlWriteMode, Boolean)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des TextWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

public:
 void WriteXml(System::IO::TextWriter ^ writer, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.IO.TextWriter? writer, System.Data.XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.IO.TextWriter writer, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : System.IO.TextWriter * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (writer As TextWriter, mode As XmlWriteMode, writeHierarchy As Boolean)

Paramètres

writer
TextWriter

TextWriter utilisé pour écrire le document.

mode
XmlWriteMode

Une des valeurs de l'objet XmlWriteMode.

writeHierarchy
Boolean

Si true, écrivez le contenu de la table en cours et de tous ses descendants. Si false (valeur par défaut), écrivez les données pour la table en cours uniquement.

Exemples

L’application console suivante crée deux DataTable instances, ajoute chacune à un DataSet, crée un DataRelation qui associe les deux tables, puis utilise la WriteXml méthode pour écrire les données contenues dans la table parente dans un TextWriter. L’exemple illustre le comportement lors de la définition du writeHierarchy paramètre sur chacune de ses valeurs.

static void Main()
{
    DataSet ds = new DataSet();
    DataTable customerTable = GetCustomers();
    DataTable orderTable = GetOrders();

    ds.Tables.Add(customerTable);
    ds.Tables.Add(orderTable);
    ds.Relations.Add("CustomerOrder",
        new DataColumn[] { customerTable.Columns[0] },
        new DataColumn[] { orderTable.Columns[1] }, true);

    System.IO.StringWriter writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, false);
    PrintOutput(writer, "Customer table, without hierarchy");

    writer = new System.IO.StringWriter();
    customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, true);
    PrintOutput(writer, "Customer table, with hierarchy");

    Console.WriteLine("Press any key to continue.");
    Console.ReadKey();
}

private static DataTable GetCustomers()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create two columns, ID and Name.
    DataColumn idColumn = table.Columns.Add("ID", typeof(System.Int32));
    table.Columns.Add("Name", typeof(System.String));

    // Set the ID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { idColumn };

    table.Rows.Add(new object[] { 1, "Mary" });
    table.Rows.Add(new object[] { 2, "Andy" });
    table.Rows.Add(new object[] { 3, "Peter" });
    table.Rows.Add(new object[] { 4, "Russ" });
    table.AcceptChanges();
    return table;
}

private static DataTable GetOrders()
{
    // Create sample Customers table, in order
    // to demonstrate the behavior of the DataTableReader.
    DataTable table = new DataTable();

    // Create three columns; OrderID, CustomerID, and OrderDate.
    table.Columns.Add(new DataColumn("OrderID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("CustomerID", typeof(System.Int32)));
    table.Columns.Add(new DataColumn("OrderDate", typeof(System.DateTime)));

    // Set the OrderID column as the primary key column.
    table.PrimaryKey = new DataColumn[] { table.Columns[0] };

    table.Rows.Add(new object[] { 1, 1, "12/2/2003" });
    table.Rows.Add(new object[] { 2, 1, "1/3/2004" });
    table.Rows.Add(new object[] { 3, 2, "11/13/2004" });
    table.Rows.Add(new object[] { 4, 3, "5/16/2004" });
    table.Rows.Add(new object[] { 5, 3, "5/22/2004" });
    table.Rows.Add(new object[] { 6, 4, "6/15/2004" });
    table.AcceptChanges();
    return table;
}

private static void PrintOutput(System.IO.TextWriter writer,
    string caption)
{
    Console.WriteLine("==============================");
    Console.WriteLine(caption);
    Console.WriteLine("==============================");
    Console.WriteLine(writer.ToString());
}
Sub Main()
  Dim ds As New DataSet
  Dim customerTable As DataTable = GetCustomers()
  Dim orderTable As DataTable = GetOrders()

  ds.Tables.Add(customerTable)
  ds.Tables.Add(orderTable)
  ds.Relations.Add("CustomerOrder", _
   New DataColumn() {customerTable.Columns(0)}, _
   New DataColumn() {orderTable.Columns(1)}, True)

  Dim writer As New System.IO.StringWriter
  customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, False)
  PrintOutput(writer, "Customer table, without hierarchy")

  writer = New System.IO.StringWriter
  customerTable.WriteXml(writer, XmlWriteMode.WriteSchema, True)
  PrintOutput(writer, "Customer table, with hierarchy")

  Console.WriteLine("Press any key to continue.")
  Console.ReadKey()
End Sub

Private Function GetOrders() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create three columns, OrderID, CustomerID, and OrderDate.
  table.Columns.Add(New DataColumn("OrderID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("CustomerID", GetType(System.Int32)))
  table.Columns.Add(New DataColumn("OrderDate", GetType(System.DateTime)))

  ' Set the OrderID column as the primary key column.
  table.PrimaryKey = New DataColumn() {table.Columns(0)}

  table.Rows.Add(New Object() {1, 1, #12/2/2003#})
  table.Rows.Add(New Object() {2, 1, #1/3/2004#})
  table.Rows.Add(New Object() {3, 2, #11/13/2004#})
  table.Rows.Add(New Object() {4, 3, #5/16/2004#})
  table.Rows.Add(New Object() {5, 3, #5/22/2004#})
  table.Rows.Add(New Object() {6, 4, #6/15/2004#})
  table.AcceptChanges()
  Return table
End Function

Private Function GetCustomers() As DataTable
  ' Create sample Customers table, in order
  ' to demonstrate the behavior of the DataTableReader.
  Dim table As New DataTable

  ' Create two columns, ID and Name.
  Dim idColumn As DataColumn = table.Columns.Add("ID", _
      GetType(System.Int32))
  table.Columns.Add("Name", GetType(System.String))

  ' Set the ID column as the primary key column.
  table.PrimaryKey = New DataColumn() {idColumn}

  table.Rows.Add(New Object() {1, "Mary"})
  table.Rows.Add(New Object() {2, "Andy"})
  table.Rows.Add(New Object() {3, "Peter"})
  table.Rows.Add(New Object() {4, "Russ"})
  table.AcceptChanges()
  Return table
End Function

Private Sub PrintOutput( _
   ByVal writer As System.IO.TextWriter, ByVal caption As String)

  Console.WriteLine("==============================")
  Console.WriteLine(caption)
  Console.WriteLine("==============================")
  Console.WriteLine(writer.ToString())
End Sub

L'exemple affiche la sortie suivante dans la fenêtre de console :

==============================
Customer table, without hierarchy
==============================
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema
" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table1">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" type="xs:int" />
                <xs:element name="Name" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">
        <xs:selector xpath=".//Table1" />
        <xs:field xpath="ID" />
      </xs:unique>
    </xs:element>
  </xs:schema>
  <Table1>
    <ID>1</ID>
    <Name>Mary</Name>
  </Table1>
  <Table1>
    <ID>2</ID>
    <Name>Andy</Name>
  </Table1>
  <Table1>
    <ID>3</ID>
    <Name>Peter</Name>
  </Table1>
  <Table1>
    <ID>4</ID>
    <Name>Russ</Name>
  </Table1>
</NewDataSet>
==============================
Customer table, with hierarchy
==============================
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema
" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:MainDataTable="Table1">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table1">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="ID" type="xs:int" />
                <xs:element name="Name" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="Table2">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="OrderID" type="xs:int" />
                <xs:element name="CustomerID" type="xs:int" minOccurs="0" />
                <xs:element name="OrderDate" type="xs:dateTime" minOccurs="0" />

              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
      <xs:unique name="Constraint1" msdata:PrimaryKey="true">
        <xs:selector xpath=".//Table1" />
        <xs:field xpath="ID" />
      </xs:unique>
      <xs:unique name="Table2_Constraint1" msdata:ConstraintName="Constraint1" m
sdata:PrimaryKey="true">
        <xs:selector xpath=".//Table2" />
        <xs:field xpath="OrderID" />
      </xs:unique>
      <xs:keyref name="CustomerOrder" refer="Constraint1">
        <xs:selector xpath=".//Table2" />
        <xs:field xpath="CustomerID" />
      </xs:keyref>
    </xs:element>
  </xs:schema>
  <Table1>
    <ID>1</ID>
    <Name>Mary</Name>
  </Table1>
  <Table1>
    <ID>2</ID>
    <Name>Andy</Name>
  </Table1>
  <Table1>
    <ID>3</ID>
    <Name>Peter</Name>
  </Table1>
  <Table1>
    <ID>4</ID>
    <Name>Russ</Name>
  </Table1>
  <Table2>
    <OrderID>1</OrderID>
    <CustomerID>1</CustomerID>
    <OrderDate>2003-12-02T00:00:00.0000000-08:00</OrderDate>
  </Table2>
  <Table2>
    <OrderID>2</OrderID>
    <CustomerID>1</CustomerID>
    <OrderDate>2004-01-03T00:00:00.0000000-08:00</OrderDate>
  </Table2>
  <Table2>
    <OrderID>3</OrderID>
    <CustomerID>2</CustomerID>
    <OrderDate>2004-11-13T00:00:00.0000000-08:00</OrderDate>
  </Table2>
  <Table2>
    <OrderID>4</OrderID>
    <CustomerID>3</CustomerID>
    <OrderDate>2004-05-16T00:00:00.0000000-07:00</OrderDate>
  </Table2>
  <Table2>
    <OrderID>5</OrderID>
    <CustomerID>3</CustomerID>
    <OrderDate>2004-05-22T00:00:00.0000000-07:00</OrderDate>
  </Table2>
  <Table2>
    <OrderID>6</OrderID>
    <CustomerID>4</CustomerID>
    <OrderDate>2004-06-15T00:00:00.0000000-07:00</OrderDate>
  </Table2>
</NewDataSet>

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable dans un document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou des schémas et des données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Normalement, la WriteXml méthode enregistre les données uniquement pour la table active. La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable dans un document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou des schémas et des données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Normalement, la WriteXml méthode écrit les données uniquement pour la table active. Pour écrire les données de la table active et de toutes ses tables associées descendantes, appelez la méthode avec le writeHierarchy paramètre défini sur true.

Notes

Un InvalidOperationException est levée si un type de colonne dans le DataRow en cours de lecture ou d’écriture dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(String, Boolean)

Écrit le contenu actuel du DataTable au format XML à l'aide du fichier spécifié. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

public:
 void WriteXml(System::String ^ fileName, bool writeHierarchy);
public void WriteXml (string fileName, bool writeHierarchy);
member this.WriteXml : string * bool -> unit
Public Sub WriteXml (fileName As String, writeHierarchy As Boolean)

Paramètres

fileName
String

Fichier dans lequel écrire les données XML.

writeHierarchy
Boolean

Si true, écrivez le contenu de la table en cours et de tous ses descendants. Si false (valeur par défaut), écrivez les données pour la table en cours uniquement.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire à la fois des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou à la fois le schéma et les données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Normalement, la WriteXml méthode écrit les données uniquement pour la table active. Pour écrire les données de la table active et de toutes ses tables associées descendantes, appelez la méthode avec le writeHierarchy paramètre défini sur true.

Notes

Un InvalidOperationException sera levée si un type de colonne dans le DataRow en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(Stream, Boolean)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de Stream spécifié. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

public:
 void WriteXml(System::IO::Stream ^ stream, bool writeHierarchy);
public void WriteXml (System.IO.Stream? stream, bool writeHierarchy);
public void WriteXml (System.IO.Stream stream, bool writeHierarchy);
member this.WriteXml : System.IO.Stream * bool -> unit
Public Sub WriteXml (stream As Stream, writeHierarchy As Boolean)

Paramètres

stream
Stream

Flux de données dans lequel les données seront écrites.

writeHierarchy
Boolean

Si true, écrivez le contenu de la table en cours et de tous ses descendants. Si false (valeur par défaut), écrivez les données pour la table en cours uniquement.

Remarques

Utilisez la WriteXmlSchema méthode pour écrire le schéma d’un DataTable dans un document XML. Le schéma comprend des définitions de table, de relation et de contrainte.

Le schéma XML est écrit à l’aide de la norme XSD.

Pour écrire les données dans un document XML, utilisez la WriteXml méthode .

Normalement, la WriteXml méthode écrit les données uniquement pour la table active. Pour écrire les données de la table active et de toutes ses tables associées descendantes, appelez la méthode avec le writeHierarchy paramètre défini sur true.

Notes

Un InvalidOperationException sera levée si un type de colonne dans le DataRow en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide des XmlWriter et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.Xml.XmlWriter? writer, System.Data.XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (System.Xml.XmlWriter writer, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : System.Xml.XmlWriter * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (writer As XmlWriter, mode As XmlWriteMode, writeHierarchy As Boolean)

Paramètres

writer
XmlWriter

XmlWriter utilisé pour écrire le document.

mode
XmlWriteMode

Une des valeurs de l'objet XmlWriteMode.

writeHierarchy
Boolean

Si true, écrivez le contenu de la table en cours et de tous ses descendants. Si false (valeur par défaut), écrivez les données pour la table en cours uniquement.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire à la fois des données et un schéma, utilisez l’une des surcharges qui incluent le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou à la fois le schéma et les données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Normalement, la WriteXml méthode écrit les données uniquement pour la table active. Pour écrire les données de la table active et de son descendant entier, les tables associées, appelez la méthode avec le writeHierarchy paramètre défini sur true.

Notes

Un InvalidOperationException sera levée si un type de colonne dans le DataRow en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(String)

Écrit le contenu actuel du DataTable au format XML à l'aide du fichier spécifié.

public:
 void WriteXml(System::String ^ fileName);
public void WriteXml (string fileName);
member this.WriteXml : string -> unit
Public Sub WriteXml (fileName As String)

Paramètres

fileName
String

Fichier dans lequel écrire les données XML.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire à la fois des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou à la fois le schéma et les données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Notes

Un InvalidOperationException sera levée si un type de colonne dans le DataRow en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(TextWriter)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de TextWriter spécifié.

public:
 void WriteXml(System::IO::TextWriter ^ writer);
public void WriteXml (System.IO.TextWriter? writer);
public void WriteXml (System.IO.TextWriter writer);
member this.WriteXml : System.IO.TextWriter -> unit
Public Sub WriteXml (writer As TextWriter)

Paramètres

writer
TextWriter

TextWriter avec lequel écrire le contenu.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire à la fois des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou à la fois le schéma et les données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Notes

Un InvalidOperationException sera levée si un type de colonne dans le DataRow en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(Stream)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de Stream spécifié.

public:
 void WriteXml(System::IO::Stream ^ stream);
public void WriteXml (System.IO.Stream? stream);
public void WriteXml (System.IO.Stream stream);
member this.WriteXml : System.IO.Stream -> unit
Public Sub WriteXml (stream As Stream)

Paramètres

stream
Stream

Flux de données dans lequel les données seront écrites.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire à la fois des données et un schéma, utilisez l’une des surcharges qui inclut le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou à la fois le schéma et les données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Notes

Un InvalidOperationException sera levée si un type de colonne dans le DataRow en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(String, XmlWriteMode, Boolean)

Écrit les données en cours, et éventuellement le schéma, de DataTable à l'aide du fichier et XmlWriteMode spécifiés. Pour écrire le schéma, affectez WriteSchema comme valeur du paramètre mode. Pour enregistrer les données pour la table et tous ses descendants, affectez au paramètre writeHierarchy la valeur true.

public:
 void WriteXml(System::String ^ fileName, System::Data::XmlWriteMode mode, bool writeHierarchy);
public void WriteXml (string fileName, System.Data.XmlWriteMode mode, bool writeHierarchy);
member this.WriteXml : string * System.Data.XmlWriteMode * bool -> unit
Public Sub WriteXml (fileName As String, mode As XmlWriteMode, writeHierarchy As Boolean)

Paramètres

fileName
String

Nom du fichier dans lequel les données seront écrites.

mode
XmlWriteMode

Une des valeurs de l'objet XmlWriteMode.

writeHierarchy
Boolean

Si true, écrivez le contenu de la table en cours et de tous ses descendants. Si false (valeur par défaut), écrivez les données pour la table en cours uniquement.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire à la fois des données et un schéma, utilisez l’une des surcharges qui incluent le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou à la fois le schéma et les données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Normalement, la WriteXml méthode enregistre les données uniquement pour la table active. Si vous souhaitez enregistrer les données de la table active et de l’ensemble du schéma, la WriteXml méthode fournit un moyen d’écrire des données uniquement, ou à la fois des données et un schéma à partir d’un DataTable dans un document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire à la fois des données et un schéma, utilisez l’une des surcharges qui incluent le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou à la fois le schéma et les données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Normalement, la WriteXml méthode écrit les données uniquement pour la table active. Pour écrire les données de la table active et de toutes les tables associées descendantes, appelez la méthode avec le writeHierarchy paramètre défini sur true.

Notes

Un InvalidOperationException sera levée si un type de colonne dans le DataRow en cours de lecture ou écrit dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à

WriteXml(XmlWriter)

Écrit le contenu actuel de l’objet DataTable sous forme XML à l’aide de XmlWriter spécifié.

public:
 void WriteXml(System::Xml::XmlWriter ^ writer);
public void WriteXml (System.Xml.XmlWriter? writer);
public void WriteXml (System.Xml.XmlWriter writer);
member this.WriteXml : System.Xml.XmlWriter -> unit
Public Sub WriteXml (writer As XmlWriter)

Paramètres

writer
XmlWriter

XmlWriter à l'aide duquel écrire le contenu.

Remarques

La WriteXml méthode permet d’écrire des données uniquement, ou des données et un schéma à partir d’un DataTable document XML, tandis que la WriteXmlSchema méthode écrit uniquement le schéma. Pour écrire à la fois des données et un schéma, utilisez l’une des surcharges qui incluent le XmlWriteMode paramètre et définissez sa valeur sur WriteSchema.

Notez qu’il en va de même pour les ReadXml méthodes et ReadXmlSchema , respectivement. Pour lire des données XML, ou des schémas et des données dans , DataTableutilisez la ReadXml méthode . Pour lire uniquement le schéma, utilisez la ReadXmlSchema méthode .

Notes

Un InvalidOperationException est levée si un type de colonne dans le DataRow en cours de lecture ou d’écriture dans implémente IDynamicMetaObjectProvider et n’implémente IXmlSerializablepas .

Voir aussi

S’applique à