List of usage examples for org.dom4j.io SAXWriter parse
public void parse(InputSource input) throws SAXException
From source file:net.unicon.toro.installer.tools.MergeConfiguration.java
License:Open Source License
private void mergeWebChanges(Element el, File path) throws Exception { System.out.println("Merging web.xml changes to " + path.getAbsolutePath()); Utils.instance().backupFile(path, true); OutputFormat format = OutputFormat.createPrettyPrint(); SAXReader reader = new SAXReader(); reader.setIncludeInternalDTDDeclarations(true); Document document = reader.read(new URL("file:" + path.getAbsolutePath())); SAXSource source = new DocumentSource(document); List<Element> filters = (List<Element>) el.selectNodes("add-filter/filter"); List<Element> filterMappings = (List<Element>) el.selectNodes("add-filter-mapping/filter-mapping"); List<Element> servlets = (List<Element>) el.selectNodes("add-servlet/servlet"); List<Element> servletMappings = (List<Element>) el.selectNodes("add-servlet-mapping/servlet-mapping"); List<Element> errorPages = (List<Element>) el.selectNodes("add-error-page/error-page"); // remove previous changes StringWriter cleansedDocumentWriter = new StringWriter(); WebXmlCleanserFilter cleaner = new WebXmlCleanserFilter(new XMLWriter(cleansedDocumentWriter)); cleaner.parse(source.getInputSource()); // add new changes try {// w ww . j a v a2 s.co m Document cleansedDocument = reader.read(new StringReader(cleansedDocumentWriter.toString())); source = new DocumentSource(cleansedDocument); SAXWriter saxWriter = new WebXmlAdditionsWriter(new XMLWriter(new FileOutputStream(path), format), filters, filterMappings, servlets, servletMappings, errorPages); saxWriter.parse(source.getInputSource()); } catch (Exception e) { e.printStackTrace(); throw e; } }