XML fait partie des formats structurés recommandés par le W3C, couramment utilisés pour stocker et transmettre des données. Les développeurs ont largement besoin de modifier les données XML stockées avec les applications. Pour faciliter l’exigence de modification, cet article explique comment modifier les données du fichier XML à l’aide de C#.

API .NET pour éditer des fichiers XML

GroupDocs.Editor fournit des solutions d’édition de documents et des API pour modifier une longue liste de différents formats de fichiers. C’est l’API .NET qui peut être utilisée avec des éditeurs externes pour l’édition visuelle. Dans cet article, nous utiliserons GroupDocs.Editor for .NET pour modifier les données XML dans l’application .NET.

Pour télécharger le programme d’installation DLLs ou MSI, visitez la section téléchargements ou installez l’API dans votre application .NET via NuGet.

PM> Install-Package GroupDocs.Editor

Comment modifier des fichiers XML à l’aide de C#

Venant directement à l’objectif, nous allons modifier les données XML en remplaçant une valeur par une autre. Voici les étapes pour modifier ou mettre à jour le fichier XML à l’aide de C#.

  • Chargez le fichier de données XML à l’aide de la classe Editor.
  • Préparez les options d’édition XML à l’aide de la classe XmlEditOptions.
  • Pour l’édition, créez le EditableDocument comme contenu source en utilisant la méthode Edit et les options d’édition préparées.
  • À partir du EditableDocument, obtenez le contenu original du fichier XML à l’aide de la méthode GetContent.
  • Mettre à jour les valeurs dans le contenu XML.
  • Créez maintenant un nouveau EditableDocument à partir du contenu XML mis à jour à l’aide de la méthode FromMarkup.
  • Pour enregistrer le contenu mis à jour dans différents formats, préparez des options d’enregistrement pertinentes telles que WordProcessingSaveOptions ou TextSaveOptions.
  • Enregistrez les données XML mises à jour dans n’importe quel format à l’aide de la méthode Save.

L’extrait de code C# suivant montre comment modifier le fichier XML et mettre à jour les données, puis l’enregistrer ultérieurement dans un autre format.

// Modifier le fichier XML en mettant à jour les valeurs à l'aide de C#
using (Editor editor = new Editor("path/data.xml"))
{
    // Créer des options d'édition XML
    Options.XmlEditOptions editOptions = new XmlEditOptions();
    editOptions.AttributeValuesQuoteType = QuoteType.DoubleQuote;
    editOptions.RecognizeEmails = true;
    editOptions.RecognizeUris = true;
    editOptions.TrimTrailingWhitespaces = true;

    // Paramètres de document modifiables
    using (EditableDocument beforeEdit = editor.Edit(editOptions))
    {
        // Modifier n'importe quoi
        string originalTextContent = beforeEdit.GetContent();
        string updatedTextContent = originalTextContent.Replace("John", "Samuel");

        List<IHtmlResource> allResources = beforeEdit.AllResources;

        // Créer un document modifiable avec un contenu mis à jour
        using (EditableDocument afterEdit = EditableDocument.FromMarkup(updatedTextContent, allResources))
        {
            // Créer des options d'enregistrement de traitement de texte
            Options.WordProcessingSaveOptions wordSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
                        
            // Créer des options de sauvegarde TXT
            Options.TextSaveOptions txtSaveOptions = new TextSaveOptions();
            txtSaveOptions.Encoding = System.Text.Encoding.UTF8;

            // Enregistrer les données XML modifiées au format DOCX et TXT
            editor.Save(afterEdit, "path/xmlData.docx", wordSaveOptions);
            editor.Save(afterEdit, "path/xmlData.txt", txtSaveOptions);
        }
    }
}

Obtenez une licence gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser l’API sans les limitations d’évaluation.

Conclusion

Pour résumer, nous avons appris à modifier par programme les données de fichiers XML à l’aide de C#. Vous pouvez explorer davantage d’autres fonctionnalités de GroupDocs.Editor à l’aide de la documentation. Pour clarifier toute ambiguïté, contactez-nous sur le forum.

Voir également