Créer un ZIP contenant des fichiers XML avec .NET
Aspose.ZIP pour .NET permet de créer une archive ZIP en C# sans lancer 7-Zip ni un autre logiciel de bureau. Instanciez Archive, ajoutez chaque fichier XML avec CreateEntry, puis enregistrez le paquet avec Save. Le traitement s’effectue dans votre application.
Ce guide convient à l’échange de données structurées et de configurations. Aspose.ZIP place les octets d’origine de chaque fichier XML dans l’archive : créer le ZIP n’interprète ni ne convertit son contenu. Vous pouvez organiser les entrées en dossiers, enregistrer le résultat dans un fichier ou un flux et configurer un chiffrement.
Exemple C# : ajouter un fichier XML à un ZIP
Cet exemple crée paquet.zip à partir d’un fichier XML. Adaptez le chemin du fichier source avant de l’exécuter.Créer un ZIP avec XML en C#
using Aspose.Zip;
using System.IO;
string sourcePath = Path.GetFullPath("fichier.xml");
using (var archive = new Archive())
{
archive.CreateEntry(Path.GetFileName(sourcePath), sourcePath);
archive.Save("paquet.zip");
}
Installer Aspose.ZIP pour .NET
Installez le package Aspose.ZIP sur NuGet et référencez-le dans votre projet .NET. La création du ZIP ne nécessite aucun outil de compression externe.Console du Gestionnaire de package
PM> Install-Package Aspose.Zip
Archiver un fichier XML
Ajoutez le fichier .xml avec CreateEntry, puis enregistrez le ZIP. Le nom de l’entrée peut différer du nom ou du chemin du fichier source.
Regrouper plusieurs fichiers XML
Appelez CreateEntry pour chaque fichier avant d’enregistrer. Utilisez des noms uniques et des chemins relatifs, par exemple xml/fichier.xml, pour organiser le contenu.
Inclure les ressources associées
Incluez, si besoin, les schémas XSD, la documentation des espaces de noms ou les exemples de validation. Ajoutez ces ressources explicitement et conservez les chemins relatifs attendus par le destinataire.
Enregistrer ou transmettre le paquet
Enregistrez le ZIP sur disque ou dans un flux accessible en écriture pour le renvoyer depuis ASP.NET ou le stocker dans un service d’objets.
Étapes pour créer un ZIP avec des fichiers XML en C#
- Installez et référencez Aspose.ZIP pour .NET.
- Sélectionnez les fichiers XML et les ressources associées à inclure.
- Créez une instance de
Archive. - Appelez
CreateEntrypour chaque fichier et définissez un nom d’entrée relatif. - Configurez la compression ou le chiffrement si nécessaire.
- Appelez
Saveavec un chemin ou un flux accessible en écriture, puis libérez les ressources.
Ajoutez toutes les entrées avant l’enregistrement. Si vous disposez déjà d’un dossier préparé, CreateEntries peut en ajouter la structure.
Créer le ZIP ne convertit pas le format XML
Le fichier XML conserve ses octets d’origine dans le ZIP. Après extraction, vous récupérez le fichier source inchangé, sauf si votre application l’a modifié avant l’archivage. Créer le ZIP ne valide pas le XML et ne modifie ni les balises ni les espaces de noms.Ressources associées aux fichiers XML
Une livraison peut nécessiter les schémas XSD, la documentation des espaces de noms ou les exemples de validation. Aspose.ZIP n’ajoute que les fichiers fournis par l’application : il ne détecte pas automatiquement les dépendances propres au format. Préparez les ressources et leurs chemins avant de créer l’archive.Noms et chemins dans le ZIP contenant XML
Le chemin source indique où lire le fichier ; le nom de l’entrée détermine son emplacement dans le ZIP. Vous pouvez utiliser `xml/fichier.xml` sans révéler le chemin absolu de la machine. Employez des barres obliques dans l’archive et rejetez les noms vides, les chemins absolus, les segments `../` et les doublons inattendus.Quel gain de compression attendre des fichiers XML ?
Les balises et structures répétées du XML permettent souvent une bonne compression. Deflate est un choix courant pour une large compatibilité ; le mode sans compression peut être utile si la vitesse d’empaquetage prime. Testez des fichiers représentatifs avant d’estimer la taille finale.Protéger un ZIP contenant des fichiers XML
Aspose.ZIP prend en charge ZipCrypto et le chiffrement AES. Privilégiez AES si les outils des destinataires le prennent en charge ; réservez ZipCrypto aux besoins de compatibilité avec des outils anciens. Obtenez le mot de passe depuis une configuration sécurisée et transmettez-le séparément de l’archive.Recommandations pour les ZIP de fichiers XML
- Vérifiez la présence de tous les fichiers nécessaires avant l’enregistrement. - Limitez le nombre et la taille des fichiers provenant de requêtes non fiables. - Contrôlez les chemins sources et les noms d’entrée afin d’écarter les chemins absolus et les segments de remontée. - Enregistrez d’abord dans une destination temporaire si un résultat partiel présente un risque. - Libérez les archives et les flux ; évitez de journaliser les chemins privés et les mots de passe.Créer un ZIP avec des fichiers XML en ligne
Sans écrire de code, utilisez l’ outil en ligne pour créer des ZIP .
Créer des ZIP avec d’autres types de fichiers
Guides C# et .NET pour empaqueter des documents, des images, du code, des modèles et d’autres fichiers.
Ressources Aspose.ZIP pour .NET
- Présentation du produit
- Documentation pour développeurs
- Référence de l’API
Archive - Référence de l’API
CreateEntry - Référence de l’API
CreateEntries - Exemples C# sur GitHub
- Package Aspose.ZIP sur NuGet
Questions fréquentes sur ZIP et XML
1. Comment créer un ZIP avec un fichier XML en C# ?Créez un Archive, ajoutez le fichier XML avec CreateEntry, puis appelez Save avec un chemin ou un flux de sortie.
2. Puis-je ajouter plusieurs fichiers XML au même ZIP ?
Oui. Appelez CreateEntry pour chaque fichier avec un nom d’entrée unique, puis enregistrez l’archive.
3. Les fichiers associés sont-ils ajoutés automatiquement ?
Non. Ajoutez explicitement chaque ressource nécessaire ; Aspose.ZIP ne détecte pas les dépendances propres au format.
4. La création du ZIP convertit-elle ou modifie-t-elle le fichier XML ?
Non. Le fichier d’origine reste une entrée du ZIP ; la conversion ou la modification du contenu constitue une autre opération.
5. Puis-je chiffrer le ZIP contenant des fichiers XML ?
Oui. Aspose.ZIP prend en charge ZipCrypto et AES ; choisissez une méthode compatible avec les outils du destinataire.