List of usage examples for android.util Xml newPullParser
public static XmlPullParser newPullParser()
From source file:it.readbeyond.minstrel.librarian.FormatHandlerEPUB.java
private String getOPFPath(File f) { String ret = null;// www .j av a 2 s . co m try { ZipFile zipFile = new ZipFile(f, ZipFile.OPEN_READ); ZipEntry containerEntry = zipFile.getEntry(EPUB_CONTAINER_PATH); if (containerEntry != null) { InputStream is = zipFile.getInputStream(containerEntry); parser = Xml.newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true); parser.setInput(is, null); parser.nextTag(); ret = parseContainer(); is.close(); } zipFile.close(); } catch (Exception e) { // nop } return ret; }
From source file:com.android.deskclock.worldclock.CityAndTimeZoneLocator.java
private TZ parseTimeZoneResponse(BufferedReader br) { try {/*from w w w . java 2 s . c o m*/ boolean status = false; String tzId = null; int rawOffset = 0; XmlPullParser parser = Xml.newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); parser.setInput(br); parser.nextTag(); parser.require(XmlPullParser.START_TAG, null, TIMEZONE_ROOT); while (parser.next() != XmlPullParser.END_TAG) { if (parser.getEventType() != XmlPullParser.START_TAG) { continue; } String name = parser.getName(); if (name.compareTo(TIMEZONE_STATUS_FLD) == 0) { status = parser.nextText().compareTo(TIMEZONE_VALID_STATUS) == 0; } else if (status && name.compareTo(TIMEZONE_RAW_OFFSET_FLD) == 0) { rawOffset = (int) Double.parseDouble(parser.nextText()); } else if (status && name.compareTo(TIMEZONE_TZ_ID_FLD) == 0) { tzId = parser.nextText(); } else { parser.nextText(); } } // Have a valid response? if (status) { return new TZ(tzId, rawOffset); } } catch (IOException e) { Log.e(TAG, "Failed to parse timezone response", e); } catch (XmlPullParserException e) { Log.e(TAG, "Failed to parse timezone response", e); } return null; }
From source file:biz.varkon.shelvesom.server.CVInfo.java
/** * Parses a valid XML response from the specified input stream. This method * must invoke parse// w w w . j a v a 2s . co m * {@link ResponseParser#parseResponse(org.xmlpull.v1.XmlPullParser)} if the * XML response is valid, or throw an exception if it is not. * * @param in * The input stream containing the response sent by the web * service. * @param responseParser * The parser to use when the response is valid. * * @throws java.io.IOException */ public static void parseResponse(InputStream in, ResponseParser responseParser, IOUtilities.inputTypes inputType) throws IOException { final XmlPullParser parser = Xml.newPullParser(); try { parser.setInput(new InputStreamReader(in)); int type; while ((type = parser.next()) != XmlPullParser.START_TAG && type != XmlPullParser.END_DOCUMENT) { // Empty } if (type != XmlPullParser.START_TAG) { throw new InflateException(parser.getPositionDescription() + ": No start tag found!"); } String name; boolean valid = false; final int topDepth = parser.getDepth(); while (((type = parser.next()) != XmlPullParser.END_TAG || parser.getDepth() > topDepth) && type != XmlPullParser.END_DOCUMENT) { if (type != XmlPullParser.START_TAG) { continue; } name = parser.getName(); if (RESPONSE_TAG_RESULTS.equals(name)) { valid = true; break; } } if (valid) responseParser.parseResponse(parser); } catch (XmlPullParserException e) { final IOException ioe = new IOException("Could not parse the response"); ioe.initCause(e); throw ioe; } }
From source file:fr.eoit.activity.ParameterActivity.java
private void refreshCharacterSpinner() { charactersXMLParser = new CharactersXmlParser(new AndroidUrlDownloader(), Xml.newPullParser(), Parameters.keyId, Parameters.vCode); characterSpinner = (Spinner) findViewById(R.id.CHARACTER_SPINNER); if (Parameters.vCode != null && Parameters.vCode.length() > 0) { new LoadCharacterSpinnerAsyncTask().execute((Void[]) null); } else {//from w w w .ja v a 2 s . co m charactersXMLParser.resetCharacterMap(); ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, new String[] { getString(R.string.all_level_v) }); adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); characterSpinner.setAdapter(adapter); characterSpinner.setOnItemSelectedListener(null); } }
From source file:com.iStudy.Study.Renren.Util.java
/** * ?XML?RenrenError./*from w w w . ja va 2 s .c o m*/ * * @param JSON * @return */ private static RenrenError parseXml(String xmlResponse) { XmlPullParser parser = Xml.newPullParser(); RenrenError error = null; try { parser.setInput(new StringReader(xmlResponse)); int evtCode = parser.getEventType(); int errorCode = -1; String errorMsg = null; while (evtCode != XmlPullParser.END_DOCUMENT) { switch (evtCode) { case XmlPullParser.START_TAG: if ("error_code".equals(parser.getName())) { errorCode = Integer.parseInt(parser.nextText()); } if ("error_msg".equals(parser.getName())) { errorMsg = parser.nextText(); } break; } if (errorCode > -1 && errorMsg != null) { error = new RenrenError(errorCode, errorMsg, xmlResponse); break; } evtCode = parser.next(); } } catch (Exception e) { throw new RuntimeException(e.getMessage(), e); } return error; }
From source file:com.ridgelineapps.wallpaper.photosite.TumblrUtils.java
private void parseResponse(InputStream in, ResponseParser responseParser) throws IOException { final XmlPullParser parser = Xml.newPullParser(); try {/*from w w w . ja va2 s . c o m*/ parser.setInput(new InputStreamReader(in)); int type; while ((type = parser.next()) != XmlPullParser.START_TAG && type != XmlPullParser.END_DOCUMENT) { // Empty } if (type != XmlPullParser.START_TAG) { throw new InflateException(parser.getPositionDescription() + ": No start tag found!"); } // String name = parser.getName(); // if (RESPONSE_TAG_RSP.equals(name)) { // final String value = parser.getAttributeValue(null, RESPONSE_ATTR_STAT); // if (!RESPONSE_STATUS_OK.equals(value)) { // throw new IOException("Wrong status: " + value); // } // } responseParser.parseResponse(parser); } catch (XmlPullParserException e) { final IOException ioe = new IOException("Could not parse the response"); ioe.initCause(e); throw ioe; } }
From source file:org.zywx.wbpalmstar.plugin.inputtextfieldview.ACEInputTextFieldView.java
/** * Reading all emoticons in local cache/*from w w w .jav a 2 s. co m*/ */ private void initEmojicons() { InputStream in = null; try { String xmlPath = mEmojiconswgtResXmlPath.substring(BUtility.F_Widget_RES_SCHEMA.length()); String emojiconsFolder = BUtility.F_Widget_RES_path + xmlPath.substring(0, xmlPath.lastIndexOf("/") + 1); String resXmlPath = BUtility.F_Widget_RES_path + xmlPath; in = getContext().getAssets().open(resXmlPath); XmlPullParser parser = Xml.newPullParser(); parser.setInput(in, "utf-8"); int tokenType = 0; boolean needContinue = true; do { tokenType = parser.next(); switch (tokenType) { case XmlPullParser.START_TAG: String localName = (parser.getName()).toLowerCase(); if ("emojicons".equals(localName)) { mEmojiconsDeletePath = emojiconsFolder + parser.getAttributeValue(null, "delete"); } else if ("key".equals(localName)) { mEmojiconsText.add(parser.nextText()); } else if ("string".equals(localName)) { mEmojiconsPath.add(emojiconsFolder + parser.nextText()); } break; case XmlPullParser.END_DOCUMENT: needContinue = false; break; } } while (needContinue); } catch (Exception e) { e.printStackTrace(); } finally { if (in != null) { try { in.close(); in = null; } catch (IOException e1) { e1.printStackTrace(); } } } NUMBER_OF_EMOJICONS = mEmojiconsPath.size(); }
From source file:com.pemikir.youtubeplus.youtube.YoutubeExtractor.java
private VideoInfo.AudioStream[] parseDashManifest(String dashManifest, String decryptoinCode) { if (!dashManifest.contains("/signature/")) { String encryptedSig = ""; String decryptedSig = ""; try {/*from www.j a v a 2s . c o m*/ Pattern p = Pattern.compile("/s/([a-fA-F0-9\\.]+)"); Matcher m = p.matcher(dashManifest); m.find(); encryptedSig = m.group(1); } catch (Exception e) { e.printStackTrace(); } decryptedSig = decryptSignature(encryptedSig, decryptoinCode); dashManifest = dashManifest.replace("/s/" + encryptedSig, "/signature/" + decryptedSig); } String dashDoc = Downloader.download(dashManifest); Vector<VideoInfo.AudioStream> audioStreams = new Vector<>(); try { XmlPullParser parser = Xml.newPullParser(); parser.setInput(new StringReader(dashDoc)); int eventType = parser.getEventType(); String tagName = ""; String currentMimeType = ""; int currentBandwidth = -1; int currentSamplingRate = -1; boolean currentTagIsBaseUrl = false; while (eventType != XmlPullParser.END_DOCUMENT) { switch (eventType) { case XmlPullParser.START_TAG: tagName = parser.getName(); if (tagName.equals("AdaptationSet")) { currentMimeType = parser.getAttributeValue(XmlPullParser.NO_NAMESPACE, "mimeType"); } else if (tagName.equals("Representation") && currentMimeType.contains("audio")) { currentBandwidth = Integer .parseInt(parser.getAttributeValue(XmlPullParser.NO_NAMESPACE, "bandwidth")); currentSamplingRate = Integer.parseInt( parser.getAttributeValue(XmlPullParser.NO_NAMESPACE, "audioSamplingRate")); } else if (tagName.equals("BaseURL")) { currentTagIsBaseUrl = true; } break; case XmlPullParser.TEXT: if (currentTagIsBaseUrl && (currentMimeType.contains("audio"))) { int format = -1; if (currentMimeType.equals(VideoInfo.M_WEBMA)) { format = VideoInfo.I_WEBMA; } else if (currentMimeType.equals(VideoInfo.M_M4A)) { format = VideoInfo.I_M4A; } audioStreams.add(new VideoInfo.AudioStream(parser.getText(), format, currentBandwidth, currentSamplingRate)); } case XmlPullParser.END_TAG: if (tagName.equals("AdaptationSet")) { currentMimeType = ""; } else if (tagName.equals("BaseURL")) { currentTagIsBaseUrl = false; } break; default: } eventType = parser.next(); } } catch (Exception e) { e.printStackTrace(); } VideoInfo.AudioStream[] output = new VideoInfo.AudioStream[audioStreams.size()]; for (int i = 0; i < output.length; i++) { output[i] = audioStreams.get(i); } return output; }
From source file:org.y20k.transistor.core.Station.java
public void readXmlElementsFromInputStream(Activity mActivity, InputStream stream) throws XmlPullParserException, IOException { //parse//from w ww. j a v a 2 s .c o m XmlPullParser parser = Xml.newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); parser.setInput(stream, null); parser.nextTag(); List entries = new ArrayList(); parser.require(XmlPullParser.START_TAG, null, "channels"); while (parser.next() != XmlPullParser.END_TAG) { if (parser.getEventType() != XmlPullParser.START_TAG) { continue; } String name = parser.getName(); // Starts by looking for the entry tag if (name.equals("entry")) { parser.require(XmlPullParser.START_TAG, null, "entry"); Station stationItem = new Station(); //reset some variables stationItem.MarkdownDescription = ""; while (parser.next() != XmlPullParser.END_TAG) { if (parser.getEventType() != XmlPullParser.START_TAG) { continue; } String tagName = parser.getName(); if (tagName.equals("unique_id")) { parser.require(XmlPullParser.START_TAG, null, "unique_id"); stationItem.UNIQUE_ID = readXmlElementText(parser); stationItem.IMAGE_FILE_NAME = stationItem.UNIQUE_ID + ".png"; stationItem.SMALL_IMAGE_FILE_NAME = stationItem.UNIQUE_ID + "_small.png"; } else if (tagName.equals("title")) { parser.require(XmlPullParser.START_TAG, null, "title"); stationItem.TITLE = readXmlElementText(parser); } else if (tagName.equals("subtitle")) { parser.require(XmlPullParser.START_TAG, null, "subtitle"); stationItem.SUBTITLE = readXmlElementText(parser); } else if (tagName.equals("image")) { parser.require(XmlPullParser.START_TAG, null, "image"); stationItem.IMAGE_PATH = readXmlElementText(parser); } else if (tagName.equals("uri")) { parser.require(XmlPullParser.START_TAG, null, "uri"); stationItem.StreamURI = readXmlElementText(parser); } else if (tagName.equals("content_type")) { parser.require(XmlPullParser.START_TAG, null, "content_type"); stationItem.CONTENT_TYPE = readXmlElementText(parser); } else if (tagName.equals("rating")) { parser.require(XmlPullParser.START_TAG, null, "rating"); String ratingVal = readXmlElementText(parser); stationItem.RATING = getIntegerRating(ratingVal); } else if (tagName.equals("comma_separated_tags")) { parser.require(XmlPullParser.START_TAG, null, "comma_separated_tags"); stationItem.COMMA_SEPARATED_TAGS = readXmlElementText(parser); } else if (tagName.equals("category")) { parser.require(XmlPullParser.START_TAG, null, "category"); stationItem.CATEGORY = readXmlElementText(parser); } else if (tagName.equals("markdown_description")) { parser.require(XmlPullParser.START_TAG, null, "markdown_description"); stationItem.MarkdownDescription = readXmlElementText(parser); } else if (tagName.equals("small_image_URL")) { parser.require(XmlPullParser.START_TAG, null, "small_image_URL"); stationItem.SMALL_IMAGE_PATH = readXmlElementText(parser); } else if (tagName.equals("description")) { parser.require(XmlPullParser.START_TAG, null, "description"); stationItem.DESCRIPTION = readXmlElementText(parser); } else { skipXmlTagParse(parser); } } if (stationItem.UNIQUE_ID != null && !stationItem.UNIQUE_ID.isEmpty() && stationItem.StreamURI != null && !stationItem.StreamURI.isEmpty()) { //get content type of station streamUrl ContentType itemCnt = getContentType(Uri.parse(stationItem.StreamURI)); //check 3.1.2 station URL (if playlist then extract first station URL if (isPlaylist(itemCnt)) { // download and parse station data from playlist file String itemPlaylistFileContent = downloadPlaylistFile(new URL(stationItem.StreamURI)); // parse result of downloadPlaylistFile and fill streamUrl and Title/subtitle if (parse(itemPlaylistFileContent, stationItem)) { //get content type after updating the streamUrl itemCnt = getContentType(Uri.parse(stationItem.StreamURI)); } else { LogHelper.e(LOG_TAG, "\n[File probably does not contain a valid streaming URL." + stationItem.StreamURI + "]"); continue; //continue and don't save this station to DB } } //update content type of station and override the provided one if available if (itemCnt.type != null && !itemCnt.type.isEmpty()) { stationItem.CONTENT_TYPE = itemCnt.type; } //add default Image URL if (stationItem.IMAGE_PATH == null || stationItem.IMAGE_PATH.isEmpty()) { IMAGE_PATH = getFavIconUrlString(stationItem.StreamURI); //default to fav icon } if (stationItem.SMALL_IMAGE_PATH == null || stationItem.SMALL_IMAGE_PATH.isEmpty()) { SMALL_IMAGE_PATH = IMAGE_PATH; //default AS IMAGE_PATH } //add station to db AddStationItemToDb(stationItem, mActivity); //for reference and to inform the adaptor we need the list of mInsertedStations mInsertedStations.add(stationItem); } } else { skipXmlTagParse(parser); } } }
From source file:com.geekandroid.sdk.pay.impl.CHWeiXinPay.java
private static Map<String, String> decodeXml(String content) { try {/*from w ww. j a va2s . c o m*/ Map<String, String> xml = new HashMap<>(); XmlPullParser parser = Xml.newPullParser(); parser.setInput(new StringReader(content)); int event = parser.getEventType(); while (event != XmlPullParser.END_DOCUMENT) { String nodeName = parser.getName(); switch (event) { case XmlPullParser.START_DOCUMENT: break; case XmlPullParser.START_TAG: if (!"xml".equals(nodeName)) { // student xml.put(nodeName, parser.nextText()); } break; case XmlPullParser.END_TAG: break; } event = parser.next(); } return xml; } catch (Exception e) { e.printStackTrace(); } return null; }