Example usage for org.xml.sax XMLReader setContentHandler

List of usage examples for org.xml.sax XMLReader setContentHandler

Introduction

In this page you can find the example usage for org.xml.sax XMLReader setContentHandler.

Prototype

public void setContentHandler(ContentHandler handler);

Source Link

Document

Allow an application to register a content event handler.

Usage

From source file:com.android.yijiang.kzx.http.SaxAsyncHttpResponseHandler.java

/**
 * Deconstructs response into given content handler
 *
 * @param entity returned HttpEntity//from  w w w.  j  a  v a  2  s  .  c o m
 * @return deconstructed response
 * @throws java.io.IOException
 * @see org.apache.http.HttpEntity
 */
@Override
protected byte[] getResponseData(HttpEntity entity) throws IOException {
    if (entity != null) {
        InputStream instream = entity.getContent();
        InputStreamReader inputStreamReader = null;
        if (instream != null) {
            try {
                SAXParserFactory sfactory = SAXParserFactory.newInstance();
                SAXParser sparser = sfactory.newSAXParser();
                XMLReader rssReader = sparser.getXMLReader();
                rssReader.setContentHandler(handler);
                inputStreamReader = new InputStreamReader(instream, DEFAULT_CHARSET);
                rssReader.parse(new InputSource(inputStreamReader));
            } catch (SAXException e) {
                Log.e(LOG_TAG, "getResponseData exception", e);
            } catch (ParserConfigurationException e) {
                Log.e(LOG_TAG, "getResponseData exception", e);
            } finally {
                AsyncHttpClient.silentCloseInputStream(instream);
                if (inputStreamReader != null) {
                    try {
                        inputStreamReader.close();
                    } catch (IOException e) {
                        /*ignore*/ }
                }
            }
        }
    }
    return null;
}

From source file:net.ontopia.topicmaps.db2tm.RelationMapping.java

public static RelationMapping read(InputStream istream, File basedir) throws IOException {
    // Create new parser object
    XMLReader parser;
    try {/* w  ww . j ava  2s .  c om*/
        parser = new DefaultXMLReaderFactory().createXMLReader();
    } catch (SAXException e) {
        throw new IOException("Problems occurred when creating SAX2 XMLReader: " + e.getMessage());
    }

    // Create content handler
    RelationMapping mapping = new RelationMapping();
    mapping.setBaseDirectory(basedir);
    ContentHandler vhandler = new ValidatingContentHandler(mapping, getRelaxNGSchema(), true);
    parser.setContentHandler(vhandler);

    try {
        // Parse input source
        parser.parse(new InputSource(istream));
    } catch (FileNotFoundException e) {
        log.error("Resource not found: {}", e.getMessage());
        throw e;
    } catch (SAXParseException e) {
        throw new OntopiaRuntimeException("XML parsing problem: " + e.toString() + " at: " + e.getSystemId()
                + ":" + e.getLineNumber() + ":" + e.getColumnNumber(), e);
    } catch (SAXException e) {
        if (e.getException() instanceof IOException)
            throw (IOException) e.getException();
        throw new OntopiaRuntimeException(e);
    }

    // Compile mapping
    mapping.compile();

    return mapping;
}

From source file:com.fdwills.external.http.SaxAsyncHttpResponseHandler.java

/**
 * Deconstructs response into given content handler
 *
 * @param entity returned HttpEntity/*from w  ww  . ja v a 2s .  c  om*/
 * @return deconstructed response
 * @throws java.io.IOException
 * @see org.apache.http.HttpEntity
 */
@Override
protected byte[] getResponseData(HttpEntity entity) throws IOException {
    if (entity != null) {
        InputStream instream = entity.getContent();
        InputStreamReader inputStreamReader = null;
        if (instream != null) {
            try {
                SAXParserFactory sfactory = SAXParserFactory.newInstance();
                SAXParser sparser = sfactory.newSAXParser();
                XMLReader rssReader = sparser.getXMLReader();
                rssReader.setContentHandler(handler);
                inputStreamReader = new InputStreamReader(instream, DEFAULT_CHARSET);
                rssReader.parse(new InputSource(inputStreamReader));
            } catch (SAXException e) {
                Log.e(LOG_TAG, "getResponseData exception", e);
            } catch (ParserConfigurationException e) {
                Log.e(LOG_TAG, "getResponseData exception", e);
            } finally {
                AsyncHttpClient.silentCloseInputStream(instream);
                if (inputStreamReader != null) {
                    try {
                        inputStreamReader.close();
                    } catch (IOException e) { /*ignore*/
                    }
                }
            }
        }
    }
    return null;
}

From source file:com.bradmcevoy.http.webdav.DefaultPropFindRequestFieldParser.java

@Override
public PropertiesRequest getRequestedFields(InputStream in) {
    try {/*from w  ww .  j a va 2s . c o m*/
        final Set<QName> set = new LinkedHashSet<QName>();
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        StreamUtils.readTo(in, bout, false, true);
        byte[] arr = bout.toByteArray();
        if (arr.length > 1) {
            ByteArrayInputStream bin = new ByteArrayInputStream(arr);
            XMLReader reader = XMLReaderFactory.createXMLReader();
            PropFindSaxHandler handler = new PropFindSaxHandler();
            reader.setContentHandler(handler);
            try {
                reader.parse(new InputSource(bin));
                if (handler.isAllProp()) {
                    return new PropertiesRequest();
                } else {
                    set.addAll(handler.getAttributes().keySet());
                }
            } catch (IOException e) {
                log.warn("exception parsing request body", e);
                // ignore
            } catch (SAXException e) {
                log.warn("exception parsing request body", e);
                // ignore
            }
        }
        return PropertiesRequest.toProperties(set);
    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }
}

From source file:com.amytech.android.library.utils.asynchttp.SaxAsyncHttpResponseHandler.java

/**
 * Deconstructs response into given content handler
 *
 * @param entity// w w  w.j a  v  a  2  s  . co m
 *            returned HttpEntity
 * @return deconstructed response
 * @throws java.io.IOException
 *             if there is problem assembling SAX response from stream
 * @see org.apache.http.HttpEntity
 */
@Override
protected byte[] getResponseData(HttpEntity entity) throws IOException {
    if (entity != null) {
        InputStream instream = entity.getContent();
        InputStreamReader inputStreamReader = null;
        if (instream != null) {
            try {
                SAXParserFactory sfactory = SAXParserFactory.newInstance();
                SAXParser sparser = sfactory.newSAXParser();
                XMLReader rssReader = sparser.getXMLReader();
                rssReader.setContentHandler(handler);
                inputStreamReader = new InputStreamReader(instream, DEFAULT_CHARSET);
                rssReader.parse(new InputSource(inputStreamReader));
            } catch (SAXException e) {
                Log.e(LOG_TAG, "getResponseData exception", e);
            } catch (ParserConfigurationException e) {
                Log.e(LOG_TAG, "getResponseData exception", e);
            } finally {
                AsyncHttpClient.silentCloseInputStream(instream);
                if (inputStreamReader != null) {
                    try {
                        inputStreamReader.close();
                    } catch (IOException e) { /* ignore */
                    }
                }
            }
        }
    }
    return null;
}

From source file:com.edgenius.wiki.ext.textnut.NutParser.java

public Map<String, File> parseBPlist(InputStream bs) {

    try {/*from  w  w  w .  j  ava  2s .  com*/
        NSObject obj = BinaryPropertyListParser.parse(bs);

        //parse BPList
        BPListParaserHandler handler = new BPListParaserHandler(new File(FileUtil.createTempDirectory("_nut")));
        SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
        XMLReader reader = parser.getXMLReader();
        reader.setContentHandler(handler);

        //parse
        reader.parse(new org.xml.sax.InputSource(new StringReader(obj.toXML())));

        //all files - main HTML file key is "MAIN_RESOURCE_URL"
        return handler.getFiles();
    } catch (UnsupportedEncodingException e) {
        log.error("Unsupport encoding for BPList", e);
    } catch (Exception e) {
        log.error("Parase BPList error.", e);
    }
    return null;
}

From source file:com.inferiorhumanorgans.WayToGo.Agency.BART.Station.StationTask.java

@Override
protected Void doInBackground(BARTAgency... someAgencies) {
    Assert.assertEquals(1, someAgencies.length);
    super.doInBackground(someAgencies);

    Log.i(LOG_NAME, "Trying to get BART station list.");

    InputStream content = null;/*  w  w w .  j av  a  2 s. c o  m*/
    ClientConnectionManager connman = new ThreadSafeClientConnManager(params, registry);
    DefaultHttpClient hc = new DefaultHttpClient(connman, params);

    Log.i(LOG_NAME, "Fetching basic station info from: " + BART_URL + BARTAgency.API_KEY);
    HttpGet getRequest = new HttpGet(BART_URL + BARTAgency.API_KEY);
    try {
        content = hc.execute(getRequest).getEntity().getContent();
    } catch (ClientProtocolException ex) {
        Logger.getLogger(LOG_NAME).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(LOG_NAME).log(Level.SEVERE, null, ex);
    }
    Log.i(LOG_NAME, "Put the station list in the background.");

    try {
        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp = spf.newSAXParser();

        XMLReader xr = sp.getXMLReader();

        xr.setContentHandler(dataHandler);

        xr.parse(new InputSource(content));

    } catch (ParserConfigurationException pce) {
        Log.e(LOG_NAME + " SAX XML", "sax parse error", pce);
    } catch (AbortXMLParsingException abrt) {
        Log.i(LOG_NAME + " AsyncXML", "Cancelled!!!!!");
        return null; // Pass on some exception to the caller?
    } catch (SAXException se) {
        Log.e(LOG_NAME + " SAX XML", "sax error", se);
    } catch (IOException ioe) {
        Log.e(LOG_NAME + " SAX XML", "sax parse io error", ioe);
    }
    Log.i(LOG_NAME + " SAX XML", "Done parsing BART station XML");

    final DetailXMLHandler detailDataHandler = new DetailXMLHandler(this);

    for (String aStationTag : theStations.keySet()) {
        getRequest = new HttpGet(BART_DETAIL_URL + BARTAgency.API_KEY + "&orig=" + aStationTag);
        try {
            content = hc.execute(getRequest).getEntity().getContent();
        } catch (ClientProtocolException ex) {
            Logger.getLogger(LOG_NAME).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(LOG_NAME).log(Level.SEVERE, null, ex);
        }
        Log.i(LOG_NAME, "Put the station detail for " + aStationTag + " in the background.");

        try {
            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp = spf.newSAXParser();

            XMLReader xr = sp.getXMLReader();

            xr.setContentHandler(detailDataHandler);

            xr.parse(new InputSource(content));

        } catch (ParserConfigurationException pce) {
            Log.e(LOG_NAME + " SAX XML", "sax parse error", pce);
        } catch (AbortXMLParsingException abrt) {
            Log.i(LOG_NAME + " AsyncXML", "Cancelled!!!!!");
        } catch (SAXException se) {
            Log.e(LOG_NAME + " SAX XML", "sax error", se);
        } catch (IOException ioe) {
            Log.e(LOG_NAME + " SAX XML", "sax parse io error", ioe);
        }
        Log.i(LOG_NAME + " SAX XML", "Done parsing BART station XML");
    }

    return null;
}

From source file:com.zegoggles.smssync.XOAuthConsumer.java

protected String getUsernameFromContacts() {

    final HttpClient httpClient = new DefaultHttpClient();
    final String url = "https://www.google.com/m8/feeds/contacts/default/thin?max-results=1";
    final StringBuilder email = new StringBuilder();

    try {//from w ww .  j av  a2 s  . co m
        HttpGet get = new HttpGet(sign(url));
        HttpResponse resp = httpClient.execute(get);
        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp = spf.newSAXParser();
        XMLReader xr = sp.getXMLReader();
        xr.setContentHandler(new DefaultHandler() {
            boolean inEmail;

            @Override
            public void startElement(String uri, String localName, String qName, Attributes atts) {
                inEmail = "email".equals(localName);
            }

            @Override
            public void characters(char[] c, int start, int length) {
                if (inEmail) {
                    email.append(c, start, length);
                }
            }
        });
        xr.parse(new InputSource(resp.getEntity().getContent()));
        return email.toString();

    } catch (oauth.signpost.exception.OAuthException e) {
        Log.e(TAG, "error", e);
        return null;
    } catch (org.xml.sax.SAXException e) {
        Log.e(TAG, "error", e);
        return null;
    } catch (java.io.IOException e) {
        Log.e(TAG, "error", e);
        return null;
    } catch (javax.xml.parsers.ParserConfigurationException e) {
        Log.e(TAG, "error", e);
        return null;
    }
}

From source file:com.joshdrummond.webpasswordsafe.android.GetCurrentPassword.java

private String parseResponse(String responseSOAP) {
    String response = "";
    try {/* w w w .  ja  v  a2  s.  c  o m*/
        SAXParserFactory spf = SAXParserFactory.newInstance();
        SAXParser sp = spf.newSAXParser();
        XMLReader xr = sp.getXMLReader();
        GetCurrentPasswordHandler handler = new GetCurrentPasswordHandler();
        xr.setContentHandler(handler);
        xr.parse(new InputSource(new StringReader(responseSOAP)));
        response = handler.getParsedData();
    } catch (Exception e) {
        response = "ERROR parsing: " + Arrays.deepToString(e.getStackTrace());
    }
    return response;
}

From source file:com.rightscale.service.FeedScraper.java

public void run() {
    int pollPeriod = DEFAULT_POLL_PERIOD;

    while (false == _shouldStop) {
        boolean error = false;
        int interesting = 0;

        try {//from w  ww  .j  a  va2  s.  co m
            HttpEntity response = getEntity(null, null);

            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp = spf.newSAXParser();
            XMLReader xr = sp.getXMLReader();

            AtomParser parser = new AtomParser(this);
            xr.setContentHandler(parser);
            xr.parse(new InputSource(response.getContent()));
            response.consumeContent();
            interesting = parser.getNumInteresting();
        } catch (Exception e) {
            Log.e("FeedScraper", e.getClass().getName());
            e.printStackTrace();
            error = true;
        }

        if (error) {
            pollPeriod = ERROR_POLL_PERIOD;
        } else if (interesting == 0) {
            pollPeriod = (int) (pollPeriod * 1.5);
            pollPeriod = Math.max(pollPeriod, MAX_POLL_PERIOD);
        } else {
            pollPeriod = DEFAULT_POLL_PERIOD;
        }

        try {
            Thread.sleep(pollPeriod);
        } catch (InterruptedException e) {
            //someone may have set _shouldStop on us...
        }
    }
}