Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo DataTable.WriteXml

Scrive i contenuti correnti della classe DataTable come XML.

Si tratta di un membro di overload. Per informazioni complete su questo membro, inclusi la sintassi, l'utilizzo e gli esempi, fare clic su un nome nell'elenco degli overload.

  Nome Descrizione
Metodo pubblico WriteXml(Stream) Scrive i contenuti correnti della classe DataTable come XML tramite la classe Stream specificata.
Metodo pubblico WriteXml(String) Scrive i contenuti correnti della classe DataTable come XML tramite il file specificato.
Metodo pubblico WriteXml(TextWriter) Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto TextWriter specificato.
Metodo pubblico WriteXml(XmlWriter) Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto XmlWriter specificato.
Metodo pubblico WriteXml(Stream, Boolean) Scrive i contenuti correnti della classe DataTable come XML tramite la classe Stream specificata. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico WriteXml(TextWriter, Boolean) Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto TextWriter specificato. Per salvare i dati per la tabella e i relativi discendenti, impostare il parametro writeHierarchy su true.
Metodo pubblico 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.
Metodo pubblico WriteXml(XmlWriter, Boolean) Scrive i contenuti correnti di DataTable come XML utilizzando l'oggetto XmlWriter specificato.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico 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.
Metodo pubblico 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.
In alto

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

È importante notare che la stessa condizione vale anche per i metodi ReadXml e ReadXmlSchema rispettivamente. Per leggere i dati XML oppure lo schema e i dati nell'oggetto DataTable, utilizzare il metodo ReadXml. Per leggere solo lo schema, utilizzare il metodo ReadXmlSchema.

Nota Nota

Verrà generata un'eccezione InvalidOperationException se un tipo di colonna in DataRow da cui leggere o in cui scrivere implementa IDynamicMetaObjectProvider e non implementa IXmlSerializable.

Nell'applicazione console riportata di seguito vengono create due istanze DataTable che verranno aggiunte ciascuna a una classe DataSet, viene creata una classe DataRelation per stabilire una correlazione tra le due tabelle, quindi viene utilizzato il metodo WriteXml per scrivere i dati contenuti nella tabella padre su una classe TextWriter. Nell'esempio viene illustrato il comportamento quando si imposta il parametro writeHierarchy su ognuno dei relativi valori.

Nota Nota

Nell'esempio viene illustrato come utilizzare una delle versioni di overload del metodo WriteXml. Per visualizzare altri esempi disponibili, vedere i singoli argomenti relativi all'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());
}


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>

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft