XML est couramment utilisé pour stocker et transmettre des données dans et entre les applications. C’est souvent une exigence où les développeurs doivent modifier le fichier XML lors de sa réception ou avant sa transmission. Dans cet article, nous expliquerons comment modifier les données du fichier XML en Java.

API Java pour éditer des fichiers XML

GroupDocs.Editor pour l’API Java vous permet de modifier des documents de différents formats de fichiers. Dans cet article, nous l’utiliserons pour éditer des fichiers XML. Vous pouvez utiliser l’API avec les éditeurs externes pour l’édition visuelle.

Téléchargez le fichier JAR à partir de la section téléchargements, ou utilisez simplement les dernières configurations de référentiel et de dépendance Maven dans vos applications Java.

<repository>
    <id>GroupDocsJavaAPI</id>
    <name>GroupDocs Java API</name>
    <url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-editor</artifactId>
    <version>20.11</version> 
</dependency>

Comment éditer des fichiers XML en Java

Allons droit au but et modifions les données XML en remplaçant une valeur par une autre. Voici les étapes pour modifier ou mettre à jour le fichier XML en Java.

  • Chargez le fichier de données XML dans l’objet de classe Editor.
  • Préparez les options d’édition pour le XML en utilisant la classe XmlEditOptions.
  • Créez le EditableDocument comme contenu source en utilisant la méthode edit et les options d’édition préparées.
  • Utilisez la méthode getContent du EditableDocument pour extraire le contenu original du fichier XML.
  • Modifiez maintenant tout ce qui est requis dans le contenu XML.
  • Créez maintenant un nouveau EditableDocument à partir du contenu XML mis à jour à l’aide de la méthode fromMarkup.
  • Utilisez les options d’enregistrement pertinentes telles que WordProcessingSaveOptions ou TextSaveOptions pour enregistrer le contenu mis à jour dans différents formats.
  • Enregistrez le XML mis à jour dans n’importe quel format à l’aide de la méthode save.

L’extrait de code suivant montre comment modifier un fichier XML en Java et mettre à jour les données pour les enregistrer dans d’autres formats.

// Modifier le fichier XML en mettant à jour les valeurs à l'aide de Java
Editor editor = new Editor("path/XMLData.xml");

// Créer des options d'édition XML
XmlEditOptions editOptions = new XmlEditOptions();
editOptions.setAttributeValuesQuoteType(QuoteType.DoubleQuote);
editOptions.setRecognizeEmails(true);
editOptions.setRecognizeUris(true);
editOptions.setTrimTrailingWhitespaces(true);

// Préparer et modifier le document modifiable
EditableDocument beforeEdit = editor.edit(editOptions);

// Modifier XML
String originalTextContent = beforeEdit.getContent();
String updatedTextContent = originalTextContent.replace("John", "Samuel");

List<IHtmlResource> allResources = beforeEdit.getAllResources();

// Créer un nouveau document modifiable avec un contenu mis à jour
EditableDocument afterEdit = EditableDocument.fromMarkup(updatedTextContent, allResources);

// Créer des options d'enregistrement de traitement de texte
WordProcessingSaveOptions wordSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);

// Créer des options de sauvegarde TXT
TextSaveOptions txtSaveOptions = new TextSaveOptions();
txtSaveOptions.setEncoding(StandardCharsets.UTF_8);

// Enregistrer les données XML modifiées au format DOCX et TXT
editor.save(afterEdit, "path/updated-xml-data.docx", wordSaveOptions);
editor.save(afterEdit, "path/updated-xml-data.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 conclure, nous avons appris aujourd’hui à éditer par programmation les données d’un fichier XML en Java. Vous pouvez maintenant développer votre application d’édition XML en ligne. Pour explorer davantage les fonctionnalités de GroupDocs.Editor, consultez la documentation. Pour toute question, contactez-nous via le forum.

Voir également