Added by jgarnett, last edited by jgarnett on Feb 21, 2008  (view change)

Labels

 
(None)

DOM based parsers are mostly useful ... when you are already parsing a DOM. An example of this would be parsing an Style object out of an Web Map Server GetMap request.

Parsing a Filter

You can use the DOM parser to parse individual filter nodes.

InputSource input = new InputSource( reader );

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document dom = db.parse( input );

Filter filter = null;

// first grab a filter node
NodeList nodes = dom.getElementsByTagName("Filter");

for (int j = 0; j < nodes.getLength(); j++) {
    Element filterNode = (Element) nodes.item(j);
    NodeList list = filterNode.getChildNodes();
    Node child = null;

    for (int i = 0; i < list.getLength(); i++) {
        child = list.item(i);

        if ((child == null) || (child.getNodeType() != Node.ELEMENT_NODE)) {
            continue;
        }

        filter = FilterDOMParser.parseFilter(child);
    }
}
System.out.println( "got:"+filter );

Parsing a Style Layer Descriptor

You can use an SLD parser to directly parse out the data structure:

SLDParser stylereader = new SLDParser(sf, surl);
StyledLayerDescriptor sld = stylereader.parseSLD();

Or you can extract the defined Style objects:

SLDParser stylereader = new SLDParser(sf, surl);
Style styles[] = stylereader.readXML();