Quel est le meilleur/la plus simple à la bibliothèque
utiliser pour lire des valeurs d'
ce fichier?
Comme vous demandons la plus simple de la bibliothèque, je me sens obligé d'ajouter une approche assez différente de celle de Guillaume de haut voté réponse. (D'autres réponses, sjbotha de JDOM mention est le plus proche de ce que je propose).
J'en suis venu à penser que pour la gestion XML en Java, en utilisant le standard de JDK outils n'est certainement pas la façon la plus simple, et que c'est seulement dans certaines circonstances (par exemple ne pas être en mesure d'utiliser la 3ème partie des bibliothèques, pour une certaine raison) c'est le meilleur moyen.
Au lieu de cela, pensez à utiliser une bonne bibliothèque XML, tels que XOM. Voici comment lire un fichier XML dans un nu.xom.Document
objet:
import nu.xom.Builder;
import nu.xom.Document;
import java.io.File;
[...]
File file = new File("some/path");
Document document = new Builder().build(file);
Alors, c'était juste un peu plus simple, car la lecture du fichier en org.w3c.dom.Document
n'était pas très compliqué non plus, dans la "pure JDK" approche. Mais les avantages de l'utilisation d'une bonne bibliothèque ne démarre ici! Quoi que vous fassiez avec votre XML, vous aurez souvent à l'écart avec beaucoup de solutions plus simples et les moins de votre propre code à maintenir, lors de l'utilisation d'une bibliothèque comme XOM. À titre d'exemples, considérer cette contre cette, ou cette contre cette, ou ce post contenant à la fois XOM et DOM du W3C exemples.
D'autres vont fournir des contre-arguments (comme ces) pourquoi coller à la Java standard XML Api peut-être vaut - sans doute ont le mérite, au moins dans certains cas, bien que personnellement, je ne souscris pas à tous. Dans tous les cas, lors du choix d'une manière ou l'autre, il est bon d'être conscient des deux côtés de l'histoire.
(Cette réponse est une partie de mon évaluation de XOM, qui est un concurrent sérieux dans ma quête pour trouver le meilleur Java XML bibliothèque pour remplacer dom4j.)