Example usage for org.jdom2.input SAXBuilder setSAXHandlerFactory

List of usage examples for org.jdom2.input SAXBuilder setSAXHandlerFactory

Introduction

In this page you can find the example usage for org.jdom2.input SAXBuilder setSAXHandlerFactory.

Prototype

public void setSAXHandlerFactory(final SAXHandlerFactory factory) 

Source Link

Document

Set the SAXHandlerFactory to be used by this SAXBuilder.

Usage

From source file:LineNumberSAXBuilderDemo.java

License:Open Source License

public static void main(String[] args) throws Exception {
    SAXBuilder builder = new SAXBuilder();
    builder.setSAXHandlerFactory(LineNumberSAXHandler.SAXFACTORY);
    Document doc = builder.build(new StringReader(xml));

    for (Iterator<LineNumberElement> iter = doc.getDescendants(Filters.fclass(LineNumberElement.class)); iter
            .hasNext();) {/*from  w  w w . j  ava 2  s .co  m*/
        LineNumberElement e = iter.next();
        System.out.println(e.getName() + ": lines " + e.getStartLine() + " to " + e.getEndLine());
    }

}

From source file:com.googlesource.gerrit.plugins.manifest.ManifestXml.java

License:Apache License

public ManifestXml(String xml) throws IOException, ParserConfigurationException, SAXException, JDOMException {
    // Insert a unique identifier for entity definitions to prevent them from
    // getting expanded during the parse
    genReplacementText(xml);//from   w w  w.  j  a  v  a2s  . com
    xml = xml.replaceAll("&([^;]*);", replacementText + "$1;");

    SAXBuilder builder = new SAXBuilder();
    builder.setSAXHandlerFactory(new SAXHandlerFactory() {
        @Override
        public SAXHandler createSAXHandler(JDOMFactory jdomFactory) {
            return new SAXHandler() {
                @Override
                public void attributeDecl(String eName, String aName, String type, String valueDefault,
                        String value) {
                    dtdAttributes.add(new DTDAttribute(eName, aName, type, valueDefault, value));
                    super.attributeDecl(eName, aName, type, valueDefault, value);
                }
            };
        }
    });
    builder.setExpandEntities(false);
    doc = builder.build(new InputSource(new StringReader(xml)));
}