/***** Code de MesExemples.com *******/
import java.util.Queue;import java.util.concurrent.ConcurrentLinkedQueue;import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;import javax.xml.parsers.ParserConfigurationException;import org.w3c.dom.Document;public class Utils { private static DocumentBuilderFactory dbf; private static Queue builders = new ConcurrentLinkedQueue(); public static DocumentBuilder getBuilder() throws ParserConfigurationException { DocumentBuilder builder = (DocumentBuilder) builders.poll(); if (builder == null) { if (dbf == null) { dbf = DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); } builder = dbf.newDocumentBuilder(); } return builder; } public static void releaseBuilder(DocumentBuilder builder) { builders.add(builder); } /** * Return a new document, ready to populate. * * @return * @throws ParserConfigurationException */ public static Document newDocument() throws ParserConfigurationException { DocumentBuilder builder = getBuilder(); Document doc = builder.newDocument(); releaseBuilder(builder); return doc; }}
Code testé avec le fichier XML Suivant
Sakoba
Adams
Rappel
Ne m'oubliez pas ce week-end!