public Object parseAndClose(InputStream in, Charset charset, Type dataType) throws IOException { try { // Initialize the parser XmlPullParser parser = Xml.createParser(); parser.setInput(in, charset.name()); return readObject(parser, dataType); } catch (XmlPullParserException e) { IOException exception = new IOException(); exception.initCause(e); throw exception; } finally { in.close(); } }
public static void testAtomParse () { FileInputStream fis = null; try { XmlNamespaceDictionary nameSpace = new XmlNamespaceDictionary().set("", "http://www.w3.org/2005/Atom").set("db", "http://www.douban.com/xmlns/").set("gd", "http://schemas.google.com/g/2005").set("openSearch", "http://a9.com/-/spec/opensearchrss/1.0/").set("opensearch", "http://a9.com/-/spec/opensearchrss/1.0/"); XmlObjectParser parser = new XmlObjectParser(nameSpace); //JsonObjectParser parser = new JsonObjectParser(new JacksonFactory()); fis = new FileInputStream("/home/zwei/doubantestxml"); DoubanPeopleEntry result = parser.parseAndClose(fis, Charset.forName("utf-8"), DoubanPeopleEntry.class); System.out.println("result : " + result); } catch (FileNotFoundException ex) { Logger.getLogger(PlayGround.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(PlayGround.class.getName()).log(Level.SEVERE, null, ex); } finally { try { fis.close(); } catch (IOException ex) { Logger.getLogger(PlayGround.class.getName()).log(Level.SEVERE, null, ex); } } }
@SuppressWarnings("unchecked") public <T> T parseAndClose(Reader reader, Class<T> dataClass) throws IOException { return (T) parseAndClose(reader, (Type) dataClass); }
public Object parseAndClose(Reader reader, Type dataType) throws IOException { try { // Initialize the parser XmlPullParser parser = Xml.createParser(); parser.setInput(reader); return readObject(parser, dataType); } catch (XmlPullParserException e) { IOException exception = new IOException(); exception.initCause(e); throw exception; } finally { reader.close(); } } }
@Override public void initialize(HttpRequest hr) throws IOException { hr.setParser(new XmlObjectParser(DefaultConfigs.DOUBAN_XML_NAMESPACE)); HttpHeaders header = new HttpHeaders(); header.setUserAgent("Dongxuexidu - Douban Java SDK"); hr.setHeaders(header); hr.setNumberOfRetries(3); } });