//
// Classes et interfaces de l'interface JAXP utilisée
//
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.FactoryConfigurationError;
import javax.xml.parsers.ParserConfigurationException;
//
// Exceptions possibles lors de la consommation du document XML
//
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
//
// Outils généraux d'entrée/ sortie sur des fichiers
//
import java.io.File;
import java.io.IOException;
//
// DOM et ses exceptions (du W3C)
//
import org.w3c.dom.Document;
import org.w3c.dom.DOMException;
//
// Notre petite classe
//
public class ConsommateurDOM {
public static void main (String [] args) {
if (args.length == 0) {
System.err.println ("Usage: java ConommateurDOM fichierXML [fichierXML ...]");
} else {
for (String s : args) {
ConsommateurDOM cd = new ConsommateurDOM ();
cd.consommer (s);
}
}
}
//
// L'attribut qui représentera le document sous DOM
//
private Document m_Document;
public ConsommateurDOM () {
m_Document = null;
}
public void consommer (String nomFich) {
//
// Un consommateur de document DOM se crée à travers une
// fabrique (schéma de conception Factory)
//
DocumentBuilderFactory Fabrique = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder Bâtisseur = Fabrique.newDocumentBuilder();
m_Document = Bâtisseur.parse (new File(nomFich));
} catch (SAXException sxe) {
//
// Erreurs de traitement du document
//
Exception ex =
(sxe.getException() != null)? sxe.getException() : sxe;
ex.printStackTrace();
} catch (ParserConfigurationException pce) {
//
// Erreurs d'option de traitement
//
pce.printStackTrace();
} catch (IOException ioe) {
//
// Erreurs générales d'entrée/ sortie
//
ioe.printStackTrace();
}
}
}
Le code proposé à droite est celui d'une petite classe susceptible de servir de base pour développer des programmes capables de consommer un document XML selon une approche DOM.
Tel quel, le code présenté ici ne fait rien, mais se veut une base de travail pour mettre en place du code capable, lui, de consommer un document XML dans le but de réaliser une tâche concrète.