Je suis assez nouveau à Java et écris une application qui a besoin d'un fichier de configuration XML. Le problème que j'ai, c'est qu'il n'y a pas de moyen facile de le faire, ce qui me semble un peu étrange. J'ai regardé SAX et DOM et les deux semblent assez compliqués. Y a-t-il d'autres bonnes API? Quelle est la meilleure façon de faire cela en Java? Merci ...Existe-t-il un moyen facile de lire un fichier XML en Java?
Répondre
J'ai écrit une API très simple précisément pour cette raison. Il utilise l'analyseur DOM ci-dessous, mais expose une API très simple et facile à utiliser qui vous permet d'accéder facilement aux données XML. C'est juste un fichier Java unique que vous pouvez utiliser comme bibliothèque dans votre code. J'espère que cela pourra aider.
Merci à tous pour vos réponses. Configuration Commons semble assez bon et semble assez puissant, cependant, à la fin, j'ai décidé d'utiliser cette solution dans mon application. La seule chose négative à propos de Commons Configuration est que c'est assez lourd pour juste un peu de config. Cette solution est vraiment légère et fait tout ce dont j'ai besoin. Merci beaucoup pour le lien! –
SAX et DOM sont les moyens "standard" d'approcher l'analyse d'un fichier XML en Java.
Il existe également des alternatives à XML.
Peut-être que tout ce dont vous avez besoin est un fichier de propriétés?
Avez-vous considéré JSON?
Vous pouvez jeter un oeil sur that list pour les sérialiseurs xml et les désérialiseurs.
Je suggère la classe jdk XmlEncoder + XmlDecoder, xstream ou simple.
Je recommande la bibliothèque de configuration de Commons: http://commons.apache.org/configuration/index.html Jetez un coup d'œil aux HOWTO pour voir comment il est facile d'obtenir des informations à partir d'un fichier XML.
Toutes les autres libs que je connais impliquent d'opérer directement sur le DOM ou d'enregistrer des gestionnaires pour l'analyse syntaxique SAX (qui impliquent tous les deux une charge de code élevée). JAXB est également une alternative, mais n'implique pas moins de code de frais généraux que les deux premiers.
Max
Ouais, et bien sûr: Vous devriez envisager d'utiliser sth. autre que XML si vous ne voulez pas vraiment tirer parti des capacités XML. Les fichiers de propriétés sont les plus simples des alternatives. – Makkes
Une belle alternative à l'analyse du fichier vous-même (en particulier pour la configuration) est d'utiliser Apache Commons Digester.
Vous nommez simplement les parties du fichier XML qui déclencheront les setters/méthodes dont vous avez besoin, et Digester fera le reste. Vous pouvez construire des configurations arbitrairement complexes et le code 'parsing' reste trivial.
par exemple.
digester.addObjectCreate("addresses/address", Address.class);
digester.addBeanPropertySetter("addresses/address/addressLine1", "addressLine1");
crée un objet Address et définit la première ligne de l'adresse. Voir this tutorial pour plus d'informations.
La variante XStream offre (peut-être) la conversion XML-objet la plus simple disponible en Java. Pour créer une instance d'une classe (par exemple) Configuration
à partir d'un flux d'entrée est une opération d'une ligne.
C'est ce dont vous avez besoin, puissant et facile à utiliser.
« Je suis assez nouveau pour Java ... il ne semble pas être un moyen facile de faire, ce qui semble un peu étrange. » C'est un vieux post. Maintenant que vous utilisez Java depuis 4 ans, êtes-vous toujours surpris quand il est difficile de faire des choses simples?:)
J'ai commencé avec le JDK, et j'ai construit ma propre classe XmlHelper. C'est petit et simple. Chaque fois que je me retrouve à écrire le même code encore et encore, il est copié dans cette classe. Cela m'a rendu la vie beaucoup plus facile. http://marketmovers.blogspot.com/2014/02/the-easy-way-to-read-xml-in-java.html
- 1. Un moyen facile d'obtenir un fichier de test dans JUnit
- 2. Facile - Lire un fichier dans un tableau
- 3. Comment lire un fichier XML avec Java?
- 4. Un moyen facile d'aplatir le fichier XML avec LINQ
- 5. Lire un fichier distant en utilisant Java
- 6. Un moyen facile de recherche de fichiers XML multiples
- 7. Lire un fichier et l'éditer en Java
- 8. Java: Un moyen facile d'extraire la méthode de fichiers de classe dans un fichier JAR? Réflexion?
- 9. Comment lire un fichier XML en un tableau bidimensionnel en utilisant Java
- 10. Lire un fichier JDF
- 11. Lire écrire un fichier de classe java
- 12. Existe-t-il un moyen facile de créer un InputStream Java composé de plusieurs fichiers ajoutés?
- 13. Lire un fichier XML avec .NET
- 14. Un moyen simple de compresser un fichier existant en Java?
- 15. L'écriture dans un fichier XML en Java
- 16. Yat-il un moyen facile de créer de nouveaux fichiers XML à partir d'un fichier xml en utilisant C#
- 17. Lire un fichier après un mot spécifique en utilisant Java
- 18. ASP.NET - Un moyen facile d'échanger un booléen?
- 19. Quelle bibliothèque Java open source fournit un moyen facile à lire et à écrire Esri Shapefiles?
- 20. Comment lire un fichier XML local
- 21. Requête SQLite pour lire un fichier XML
- 22. En ajoutant un fichier XML?
- 23. C# LINQ - lire un fichier XML
- 24. Existe-t-il un moyen facile de copier un itérateur dans une liste en Java?
- 25. En Python, existe-t-il un moyen facile d'éditer le XML en place?
- 26. Modifier un fichier XML dans un fichier jar avec Java
- 27. Lire et écrire un fichier XML en utilisant Nokogiri
- 28. Un moyen facile d'inspecter le fichier BCP .dat?
- 29. Existe-t-il un moyen de valider un arbre XML DOM en mémoire en Java?
- 30. Un moyen facile de tester l'application réseau
Beaucoup de dupes. En voici un récent avec une question bien formatée: http://stackoverflow.com/questions/2333479/how-to-read-an-xml-file-with-java – kdgregory
Il y a beaucoup d'API XML à lire en XML, voir ce lien http://stackoverflow.com/questions/373833/best-xml-parser-for-java –
Oui, c'est facile si vous avez déjà appris l'API. – peterh