C'est ainsi que j'ai créé un fichier XML pour un ou plusieurs objets Java. J'ai utilisé "xjc" et un schéma XML valide, et j'ai récupéré des fichiers * .java "générés". Je les ai importés dans un paquet différent dans Eclipse. Je lis le fichier XML de 2 façons maintenant.XML analyse java confirmation
1) Chargement du fichier XML:
System.out.println("Using FILE approach:");
File f = new File ("C:\\test_XML_files\\complex.apx");
JAXBElement felement = (JAXBElement) u.unmarshal(f);
MyObject fmainMyObject = (MyObject) felement.getValue();
2) L'utilisation d'un buider DOM:
System.out.println("Using DOM BUILDER Approach:");
JAXBElement element = (JAXBElement) u.unmarshal(test());;
MyObject mainMyObject = (MyObject) element.getValue();
maintenant dans la méthode "test()" le code ci-dessous est inclus:
public static Node test(){
Document document = parseXmlDom();
return document.getFirstChild();
}
private static Document parseXmlDom() {
Document document = null;
try {
// getting the default implementation of DOM builder
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
// parsing the XML file
document = builder.parse(new File("C:\\test_XML_files\\MyXML_FILE.apx"));
} catch (Exception e) {
// catching all exceptions
System.out.println();
System.out.println(e.toString());
}
return document;
}
est-ce la façon standard de faire XML à un objet Java? J'ai testé si je pouvais accéder à l'objet et tout fonctionne bien. (jusqu'à présent) Proposez-vous une approche différente? ou est-ce suffisant?
Il existe de nombreux moyens d'accéder à XML. Comme pour JAXB, consultez http://download.oracle.com/javase/6/docs/api/javax/xml/bind/Unmarshaller.html - leurs exemples incluent vos deux approches et plus encore. –
Recherchez-vous des objets DOM ou une liaison Java XML? – gigadot
Découvrez cette excellente réponse par Voo: http://stackoverflow.com/questions/5059224/quelle-est-la-best-library-for-xml-parsing-in-java/5059411#5059411 –