Example usage for android.util Xml newPullParser

List of usage examples for android.util Xml newPullParser

Introduction

In this page you can find the example usage for android.util Xml newPullParser.

Prototype

public static XmlPullParser newPullParser() 

Source Link

Document

Returns a new pull parser with namespace support.

Usage

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;

}