DataTable.WriteXml Metodo

Definizione

Scrive i contenuti correnti della classe DataTable come XML.

Overload

WriteXml(TextWriter, Boolean)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto TextWriter specificato. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.

WriteXml(TextWriter, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto TextWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.

WriteXml(String, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per la classe DataTable utilizzando il file specificato e l'enumerazione XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.

WriteXml(Stream, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable nel file specificato utilizzando l'oggetto XmlWriteMode specificato. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.

WriteXml(XmlWriter, Boolean)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto XmlWriter specificato.

WriteXml(XmlWriter, XmlWriteMode)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto XmlWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.

WriteXml(Stream, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable nel file specificato utilizzando l'oggetto XmlWriteMode specificato. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.

WriteXml(TextWriter, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto TextWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.

WriteXml(String, Boolean)

Scrive i contenuti correnti della classe DataTable come XML tramite il file specificato. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.

WriteXml(Stream, Boolean)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto Stream specificato. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto XmlWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.

WriteXml(String)

Scrive i contenuti correnti della classe DataTable come XML tramite il file specificato.

WriteXml(TextWriter)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto TextWriter specificato.

WriteXml(Stream)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto Stream specificato.

WriteXml(String, XmlWriteMode, Boolean)

Scrive i dati correnti e, facoltativamente, lo schema per la classe DataTable utilizzando il file specificato e l'enumerazione XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.

WriteXml(XmlWriter)

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto XmlWriter specificato.

Esempio

L'applicazione console seguente crea due DataTable istanze, aggiunge ognuna a , DataSetcrea una DataRelation relazione tra le due tabelle e quindi usa il WriteXml metodo per scrivere i dati contenuti nella tabella padre in un TextWriteroggetto . Nell'esempio viene illustrato il comportamento durante l'impostazione del writeHierarchy parametro su ognuno dei relativi valori.

Nota

In questo esempio viene illustrato come usare una delle versioni di overload di WriteXml. Per altri esempi che potrebbero essere disponibili, vedere i singoli argomenti di overload.

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

Nell'esempio viene visualizzato il seguente output nella finestra della 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>

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

WriteXml(TextWriter, Boolean)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto TextWriter specificato. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su 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)

Parametri

writer
TextWriter

Oggetto TextWriter con cui scrivere il contenuto.

writeHierarchy
Boolean

Se true, viene scritto il contenuto della tabella corrente e tutti i relativi discendenti. Se false (valore predefinito), vengono scritti solo i dati per la tabella corrente.

Esempio

L'applicazione console seguente crea due DataTable istanze, aggiunge ognuna a , DataSetcrea una DataRelation relazione tra le due tabelle e quindi usa il WriteXml metodo per scrivere i dati contenuti nella tabella padre in un TextWriteroggetto . Nell'esempio viene illustrato il comportamento quando si imposta il writeHierarchy parametro su 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

Commenti

Il WriteXml metodo consente di scrivere solo i dati o entrambi i dati e lo schema da un DataTable documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere sia i dati che lo schema, usare uno degli overload che includono il XmlWriteMode parametro e impostare il relativo valore su WriteSchema.

Normalmente il WriteXml metodo scrive i dati solo per la tabella corrente. Per scrivere i dati per la tabella corrente e tutti i relativi discendenti, tabelle correlate, chiamare il metodo con il writeHierarchy parametro impostato su true.

Nota

Verrà InvalidOperationException generato se un tipo di colonna nell'oggetto DataRow da leggere o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(TextWriter, XmlWriteMode)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto TextWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.

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)

Parametri

writer
TextWriter

Classe TextWriter utilizzata per scrivere il documento.

mode
XmlWriteMode

Uno dei valori di XmlWriteMode.

Commenti

Il WriteXml metodo consente di scrivere solo i dati o entrambi i dati e lo schema da un DataTable documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere sia i dati che lo schema, usare uno degli overload che includono il XmlWriteMode parametro e impostare il relativo valore su WriteSchema.

Si noti che lo stesso è true rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o entrambi gli schemi e i dati nell'oggetto DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

Nota

Verrà InvalidOperationException generato se un tipo di colonna nell'oggetto DataRow da leggere o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(String, XmlWriteMode)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive i dati correnti e, facoltativamente, lo schema per la classe DataTable utilizzando il file specificato e l'enumerazione XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.

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)

Parametri

fileName
String

Nome del file in cui vengono scritti i dati.

mode
XmlWriteMode

Uno dei valori di XmlWriteMode.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(Stream, XmlWriteMode)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable nel file specificato utilizzando l'oggetto XmlWriteMode specificato. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.

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)

Parametri

stream
Stream

Il flusso in cui vengono scritti i dati.

mode
XmlWriteMode

Uno dei valori di XmlWriteMode.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(XmlWriter, Boolean)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto XmlWriter specificato.

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)

Parametri

writer
XmlWriter

Classe XmlWriter con cui scrivere i contenuti.

writeHierarchy
Boolean

Se true, viene scritto il contenuto della tabella corrente e tutti i relativi discendenti. Se false (valore predefinito), vengono scritti solo i dati per la tabella corrente.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

In genere il WriteXml metodo scrive i dati solo per la tabella corrente. Per scrivere i dati per la tabella corrente e l'intero discendente, le tabelle correlate, chiamare il metodo con il writeHierarchy parametro impostato su true.

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(XmlWriter, XmlWriteMode)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto XmlWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema.

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)

Parametri

writer
XmlWriter

Classe XmlWriter utilizzata per scrivere il documento.

mode
XmlWriteMode

Uno dei valori di XmlWriteMode.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(Stream, XmlWriteMode, Boolean)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable nel file specificato utilizzando l'oggetto XmlWriteMode specificato. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su 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)

Parametri

stream
Stream

Il flusso in cui vengono scritti i dati.

mode
XmlWriteMode

Uno dei valori di XmlWriteMode.

writeHierarchy
Boolean

Se true, viene scritto il contenuto della tabella corrente e tutti i relativi discendenti. Se false (valore predefinito), vengono scritti solo i dati per la tabella corrente.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

In genere, il WriteXml metodo salva i dati solo per la tabella corrente. Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

In genere il WriteXml metodo scrive i dati solo per la tabella corrente. Per scrivere i dati per la tabella corrente e per tutte le tabelle discendenti, le tabelle correlate chiamano il metodo con il writeHierarchy parametro impostato su true.

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(TextWriter, XmlWriteMode, Boolean)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto TextWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su 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)

Parametri

writer
TextWriter

Classe TextWriter utilizzata per scrivere il documento.

mode
XmlWriteMode

Uno dei valori di XmlWriteMode.

writeHierarchy
Boolean

Se true, viene scritto il contenuto della tabella corrente e tutti i relativi discendenti. Se false (valore predefinito), vengono scritti solo i dati per la tabella corrente.

Esempio

L'applicazione console seguente crea due DataTable istanze, aggiunge ognuna a un DataSetoggetto , crea una DataRelation relazione tra le due tabelle e quindi usa il WriteXml metodo per scrivere i dati contenuti nella tabella padre in un oggetto TextWriter. Nell'esempio viene illustrato il comportamento quando si imposta il writeHierarchy parametro su ognuno dei relativi valori.

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

Nell'esempio viene visualizzato il seguente output nella finestra della 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>

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

In genere, il WriteXml metodo salva i dati solo per la tabella corrente. Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

In genere il WriteXml metodo scrive i dati solo per la tabella corrente. Per scrivere i dati per la tabella corrente e per tutte le tabelle discendenti, le tabelle correlate chiamano il metodo con il writeHierarchy parametro impostato su true.

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(String, Boolean)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive i contenuti correnti della classe DataTable come XML tramite il file specificato. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su 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)

Parametri

fileName
String

File in cui scrivere i dati XML.

writeHierarchy
Boolean

Se true, viene scritto il contenuto della tabella corrente e tutti i relativi discendenti. Se false (valore predefinito), vengono scritti solo i dati per la tabella corrente.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

In genere il WriteXml metodo scrive i dati solo per la tabella corrente. Per scrivere i dati per la tabella corrente e per tutte le tabelle discendenti, le tabelle correlate chiamano il metodo con il writeHierarchy parametro impostato su true.

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(Stream, Boolean)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto Stream specificato. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su 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)

Parametri

stream
Stream

Il flusso in cui vengono scritti i dati.

writeHierarchy
Boolean

Se true, viene scritto il contenuto della tabella corrente e tutti i relativi discendenti. Se false (valore predefinito), vengono scritti solo i dati per la tabella corrente.

Commenti

Utilizzare il WriteXmlSchema metodo per scrivere lo schema per un DataTable oggetto in un documento XML. Lo schema include definizioni di tabella, relazione e vincolo.

Lo schema XML viene scritto usando lo standard XSD.

Per scrivere i dati in un documento XML, utilizzare il WriteXml metodo .

In genere il WriteXml metodo scrive i dati solo per la tabella corrente. Per scrivere i dati per la tabella corrente e per tutte le tabelle discendenti, le tabelle correlate chiamano il metodo con il writeHierarchy parametro impostato su true.

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(XmlWriter, XmlWriteMode, Boolean)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive i dati correnti e, facoltativamente, lo schema per l'oggetto DataTable utilizzando l'oggetto XmlWriter e l'oggetto XmlWriteMode specificati. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su 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)

Parametri

writer
XmlWriter

Classe XmlWriter utilizzata per scrivere il documento.

mode
XmlWriteMode

Uno dei valori di XmlWriteMode.

writeHierarchy
Boolean

Se true, viene scritto il contenuto della tabella corrente e tutti i relativi discendenti. Se false (valore predefinito), vengono scritti solo i dati per la tabella corrente.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

In genere il WriteXml metodo scrive i dati solo per la tabella corrente. Per scrivere i dati per la tabella corrente e l'intero discendente, le tabelle correlate, chiamare il metodo con il writeHierarchy parametro impostato su true.

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(String)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive i contenuti correnti della classe DataTable come XML tramite il file specificato.

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

Parametri

fileName
String

File in cui scrivere i dati XML.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(TextWriter)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto TextWriter specificato.

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)

Parametri

writer
TextWriter

Oggetto TextWriter con cui scrivere il contenuto.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(Stream)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto Stream specificato.

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)

Parametri

stream
Stream

Il flusso in cui vengono scritti i dati.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(String, XmlWriteMode, Boolean)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive i dati correnti e, facoltativamente, lo schema per la classe DataTable utilizzando il file specificato e l'enumerazione XmlWriteMode. Per scrivere lo schema, impostare il valore del parametro mode su WriteSchema. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su 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)

Parametri

fileName
String

Nome del file in cui vengono scritti i dati.

mode
XmlWriteMode

Uno dei valori di XmlWriteMode.

writeHierarchy
Boolean

Se true, viene scritto il contenuto della tabella corrente e tutti i relativi discendenti. Se false (valore predefinito), vengono scritti solo i dati per la tabella corrente.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

In genere, il WriteXml metodo salva i dati solo per la tabella corrente. Se si desidera salvare i dati per la tabella corrente e tutti gli schemi, il WriteXml metodo consente di scrivere solo dati o dati e schemi da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

In genere il WriteXml metodo scrive i dati solo per la tabella corrente. Per scrivere i dati per la tabella corrente e per tutte le tabelle discendenti, le tabelle correlate chiamano il metodo con il writeHierarchy parametro impostato su true.

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a

WriteXml(XmlWriter)

Source:
DataTable.cs
Source:
DataTable.cs
Source:
DataTable.cs

Scrive il contenuto corrente dell'oggetto DataTable come XML usando l'oggetto XmlWriter specificato.

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)

Parametri

writer
XmlWriter

Classe XmlWriter con cui scrivere i contenuti.

Commenti

Il WriteXml metodo consente di scrivere solo dati o entrambi i dati e lo schema da un DataTable oggetto in un documento XML, mentre il WriteXmlSchema metodo scrive solo lo schema. Per scrivere dati e schemi, usare uno degli overload che includono il parametro e impostarne il XmlWriteMode valore su WriteSchema.

Si noti che lo stesso vale rispettivamente per i ReadXml metodi e ReadXmlSchema . Per leggere i dati XML o sia lo schema che i dati in DataTable, usare il ReadXml metodo . Per leggere solo lo schema, usare il ReadXmlSchema metodo .

Nota

Verrà InvalidOperationException generata un'eccezione se un tipo di colonna nell'oggetto DataRow da cui viene letto o scritto per implementare IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Vedi anche

Si applica a