import javax.xml.parsers.*; import java.io.IOException; import org.w3c.dom.Document; import org.xml.sax.SAXException; import org.xml.sax.InputSource; public class CallXMLDOM { private static DocumentBuilderFactory documentBuilderFactory; public static synchronized DocumentBuilderFactory getDocumentBuilderFactory() { if( CallXMLDOM.documentBuilderFactory == null ) { // configure the document builder factory documentBuilderFactory = DocumentBuilderFactory.newInstance(); documentBuilderFactory.setValidating(true); documentBuilderFactory.setNamespaceAware(true); } return CallXMLDOM.documentBuilderFactory; } public static Document getDocument(InputSource is) throws ParserConfigurationException, SAXException, IOException { // get a builder to create a DOM document DocumentBuilder builder = CallXMLDOM.getDocumentBuilderFactory().newDocumentBuilder(); // parse the damned document return builder.parse(is); } }