Changeset 25655 for main/trunk


Ignore:
Timestamp:
2012-05-23T16:53:17+12:00 (12 years ago)
Author:
sjm84
Message:

Added a version of getDOM that takes an encoding (not sure if this is even useful though)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/XMLConverter.java

    r24863 r25655  
    3535
    3636// other java classes
     37import java.io.ByteArrayInputStream;
     38import java.io.InputStream;
    3739import java.io.Reader;
    3840import java.io.InputStreamReader;
     
    165167
    166168    /** returns a DOM Document */
     169    public Document getDOM(String in, String encoding)
     170    {
     171        try
     172        {
     173            InputStreamReader reader = new InputStreamReader(new ByteArrayInputStream(in.getBytes(encoding)), encoding);
     174            InputSource xml_source = new InputSource(reader);
     175
     176            DOMParser parser = new DOMParser();
     177            parser.setFeature("http://xml.org/sax/features/validation", false);
     178            parser.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
     179            parser.setFeature("http://apache.org/xml/features/dom/defer-node-expansion", false);
     180            if(resolver != null)
     181            {
     182                parser.setEntityResolver(this.resolver);
     183            }
     184            parser.setErrorHandler(new ParseErrorHandler());
     185            parser.parse(xml_source);
     186           
     187            Document doc = parser.getDocument();
     188
     189            return doc;
     190
     191        }
     192        catch (Exception e)
     193        {
     194            logger.error(e.getMessage());
     195        }
     196        return null;
     197    }
     198   
     199    /** returns a DOM Document */
    167200    public Document getDOM(File in)
    168201    {
Note: See TracChangeset for help on using the changeset viewer.