Ce sujet n'a pas encore été évalué - Évaluez ce sujet

DataTable.WriteXml, méthode (TextWriter, Boolean)

Mise à jour : novembre 2007

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

Espace de noms :  System.Data
Assembly :  System.Data (dans System.Data.dll)
public void WriteXml(
	TextWriter writer,
	bool writeHierarchy
)
public void WriteXml(
	TextWriter writer,
	boolean writeHierarchy
)
public function WriteXml(
	writer : TextWriter, 
	writeHierarchy : boolean
)

Paramètres

writer
Type : System.IO.TextWriter
TextWriter à l'aide duquel écrire le contenu.
writeHierarchy
Type : System.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.

La méthode WriteXml permet d'écrire soit les données uniquement, soit les données et le schéma, à partir de DataTable dans un document XML, alors que la méthode WriteXmlSchema n'écrit que le schéma. Pour écrire à la fois les données et le schéma, utilisez une des surcharges qui comprennent le paramètre XmlWriteMode et affectez-lui WriteSchema comme valeur.

En principe, la méthode WriteXml écrit les données uniquement pour la table en cours. Pour écrire les données pour la table en cours et tous ses descendants et tables associées, appelez la méthode avec la valeur true affectée au paramètre writeHierarchy.

L'application console suivante crée deux instances de DataTable, ajoute chacune d'elles à un DataSet, crée un DataRelation qui lie les deux tables, puis utilise la méthode WriteXml pour écrire dans un TextWriter les données contenues dans la table parente. L'exemple montre le comportement présenté lors de l'affectation au paramètre writeHierarchy de la valeur 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());
}


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile pour Smartphone, Windows Mobile pour Pocket PC, Xbox 360

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0

.NET Compact Framework

Pris en charge dans : 3.5, 2.0

XNA Framework

Pris en charge dans : 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.